来自常规字符串引用的插值字符串

时间:2017-04-26 07:38:09

标签: c#

我有一个看起来像这样的字符串:

string foobar = "foo{bar}";
string bar= "bar";
Console.WriteLine(foobar);

是否有一种很好的方法可以在foobar声明后插入一个插值字符串?

我知道我可以这样做,但我没有收到作为插值字符串的foobar

string bar= "bar";
string foobar= $"foo{bar}";
Console.WriteLine(foobar);

或者像这样,但我想知道是否有更漂亮的方式

string foobar = "foo{bar}";
string bar= "bar";
Console.WriteLine(foobar.Replace("{bar}", bar);

1 个答案:

答案 0 :(得分:0)

字符串插值只是编译时间,因为它依赖于引用变量的存在。

https://weblogs.asp.net/bleroy/c-6-string-interpolation-is-not-a-templating-engine-and-it-s-not-the-new-string-format

使用类似的东西:

var foo = "foo{0}";
var bar = "bar;
Console.WriteLine(String.Format(foo, bar));