6

假设,在 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?

4

1 回答 1

2

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

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

然后在您的代码中:

Console.WriteLine(string.Format(toBeFormatted,greeting, name));
于 2018-03-21T16:08:03.120 回答