我想在字符串中间进行插值,但是我不能使用String.Format
,因为字符串包含{}
大括号。
这是我到目前为止尝试过的:
string code = "(function(){var myvariable = $"{variableToBeInterpolated}"});"
返回:预期;预期的
编辑:我尝试了以下代码段,现在插值已经可以使用,但是代码未在浏览器中执行。
"(function(){var myvariable=" + $"{myvariable c#}" + ")});"
答案 0 :(得分:7)
在C#版本6中,广泛的string interpolation capabilities已添加到该语言中。
字符串插值提供了更易读和方便的语法 比string composite formatting功能创建格式化的字符串。
要解决您的问题,请查看文档的special characters部分,其中内容如下:
在括号中产生的文本中包含括号“ {”或“}” 内插字符串,请使用两个大括号“ {{”或“}}”。
1,1,1,2,2,2,3,3,3
输出:
var variable = 10; var code = $"(function() {{ var myVariable = {variable} }});"; Console.WriteLine(code);
答案 1 :(得分:0)
为什么要在中间进行插补,而不是将$
放在前面。对于{
,您需要使用{{
。 (}
也是如此)
string code = $"(function(){{ var myvariable = {myvariable} }});";
答案 2 :(得分:0)
您尝试过吗:
string someVariable = "test";
string code = $"(function()'{{var myvariable = ({someVariable} in c#)}});"
在C#中使用$是字符串插值。在C#6中添加