当前位置: 首页 > 知识库问答 >
问题:

C#多行代码字符串插值不起作用[关闭]

鄢飞鸾
2023-03-14

此问题是由拼写错误或无法再复制的问题引起的。虽然类似的问题可能与此相关,但这个问题的解决方式不太可能帮助未来的读者。

我正在尝试向这样的代码字符串添加一些代码


        public static string Compile(string code)
        {
            Write("compiler called.");
/////////////Below is the string I want to interpolate//////////////
            
            string codeToCompile = $@"
            using System;

            namespace RoslynCompileSample
            {
                public class Writer
                {
                    public string Write()
                    {
                        
                        {code}
                    }
                }
            }";
///////////////// Other Codes...//////////////////////////

共有1个答案

吕利
2023-03-14

这里有两件事要提:

>

  • code的分配不正确

    您必须转义内插字符串中的 {} 字符(阅读文档的特殊字符部分)
    (如果您要使用 too(在带有 @ 的逐字字符串中,您还将其加倍为 ”“ 以获得一个),例如字符串代码 = @”Console.WriteLine(“Helloworld”);“;

    string code = "Console.WriteLine(\"Helloworld\");";
    string codeToCompile = $@"using System;
    
    namespace RoslynCompileSample
    {{
        public class Writer
        {{
            public string Write()
            {{
                var code = {code}
            }}
        }}
    }}";
    

  •  类似资料:
    • 我正在学习Java程序。我需要一个帮助,我想返回的值,存储在if条件。在下面的代码中,如果名称的长度大于或等于6,则先取5个字符,然后追加两次年龄,最后再追加6个字符。 例如:如果字符为alisha,则返回alish2727a

    • 当我在这个代码段上运行backtick(`)命令时: 我犯了一些错误。这些错误是什么? 首先,在第一行按F8键,我得到: 不完整的字符串标记。CategoryInfo:ParserError:(:)[],ParentContainerErrorRecordException FullyQualifiedErrorId:UncompleteString 目标:运行代码段并假设PC将自动跳转到下一行,

    • 问题 你想创建一个字符串,让它包含体现某个 CoffeeScript 变量的文本。 解决方案 使用 CoffeeScript 中类似 Ruby 的字符串插值,而不是 JavaScript 的字符串拼接。 插值: muppet = "Beeker" favorite = "My favorite muppet is #{muppet}!" # => "My favorite muppet is B

    • 内建函数 eval 允许执行一个代码字符串。 语法如下: let result = eval(code); 例如: let code = 'alert("Hello")'; eval(code); // Hello 代码字符串可能会比较长,包含换行符、函数声明和变量等。 eval 的结果是最后一条语句的结果。 例如: let value = eval('1+1'); alert(value); /

    • 代码如下: 运行时,这是错误消息: 错误:不匹配'运算符*'(操作数类型是'std::__cxx11::字符串{aka std::__cxx11::basic_string 如何修复此错误并使程序正确运行?

    • 我正在尝试编写一个ANTLR语法,用于解析字符串插值表达式,例如: 我得到的错误是: MyParser。g4: MyLemus. g4: 像以下这样的表达式可以正常工作: 知道我做错了什么吗?