字符串中间的插值

时间:2019-02-13 15:08:40

标签: c# string-interpolation

我想在字符串中间进行插值,但是我不能使用String.Format,因为字符串包含{}大括号。

这是我到目前为止尝试过的:

string code = "(function(){var myvariable = $"{variableToBeInterpolated}"});"
  

返回:预期;预期的

编辑:我尝试了以下代码段,现在插值已经可以使用,但是代码未在浏览器中执行。

"(function(){var myvariable=" + $"{myvariable c#}" + ")});"

3 个答案:

答案 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中添加

docs.microsoft.com