C#将字符串变量转换为FormattableString

时间:2018-03-21 15:59:47

标签: c# string-formatting 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

1 个答案:

答案 0 :(得分:1)

好吧,如果我没有建议以下简单的解决方案:

<appSettings>
   <add key="FormattedString" value="{0}, {1}." />
</appSettings>

然后在你的代码中:

Console.WriteLine(string.Format(toBeFormatted,greeting, name));