C# 将字符串变量转换为 FormattableString
C# Convert string variable to FormattableString
假设,在 C# 程序中,我的 app.config
中有以下几行:
<appSettings>
<add key="FormattedString" value="{greeting}, {name}." />
</appSettings>
而且,在我的代码中,我按如下方式使用它:
private void doStuff()
{
var toBeFormatted = ConfigurationManager.AppSettings["FormattedString"];
string greeting = @"Hi There";
string name = @"Bob";
}
我想将 toBeFormatted
变量用作 FormattableString
以便能够通过字符串插值插入变量 - 类似于:
Console.WriteLine(toBeFormatted);
我已经尝试过诸如:
var toBeFormatted = $ConfigurationManager.AppSettings["FormattedString"];
或
Console.WriteLine($toBeFormatted);
但两者都导致错误。有没有办法让编译器知道 toBeFormatted
字符串应该用作 FormattableString
?
好吧,以防万一,我建议采用以下简单的解决方案:
<appSettings>
<add key="FormattedString" value="{0}, {1}." />
</appSettings>
然后在您的代码中:
Console.WriteLine(string.Format(toBeFormatted,greeting, name));
假设,在 C# 程序中,我的 app.config
中有以下几行:
<appSettings>
<add key="FormattedString" value="{greeting}, {name}." />
</appSettings>
而且,在我的代码中,我按如下方式使用它:
private void doStuff()
{
var toBeFormatted = ConfigurationManager.AppSettings["FormattedString"];
string greeting = @"Hi There";
string name = @"Bob";
}
我想将 toBeFormatted
变量用作 FormattableString
以便能够通过字符串插值插入变量 - 类似于:
Console.WriteLine(toBeFormatted);
我已经尝试过诸如:
var toBeFormatted = $ConfigurationManager.AppSettings["FormattedString"];
或
Console.WriteLine($toBeFormatted);
但两者都导致错误。有没有办法让编译器知道 toBeFormatted
字符串应该用作 FormattableString
?
好吧,以防万一,我建议采用以下简单的解决方案:
<appSettings>
<add key="FormattedString" value="{0}, {1}." />
</appSettings>
然后在您的代码中:
Console.WriteLine(string.Format(toBeFormatted,greeting, name));