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

C# 来自常规字符串引用的插值字符串,c#,C#,我有一个字符串如下所示: string foobar = "foo{bar}"; string bar= "bar"; Console.WriteLine(foobar); 在声明foobar之后,有没有一种很好的方法使它成为插值字符串 我知道我可以这样做,但我不接受foobar作为插值字符串 string bar= "bar"; string foobar= $"foo{bar}"; Console.WriteLine(foobar); 或者像这样,但我想知道是否有更漂亮的方法 strin

我有一个字符串如下所示:

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);

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

改用类似的方式:

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

字符串插值是一种编译时语言特性。您希望将其用作运行时功能。您可以使用
String.Format
。这已得到回答,无法执行