c#资源中的字符串

时间:2017-07-26 08:23:07

标签: c# .net resources c#-6.0

我需要在资源文件中添加$"test message {variable1} and {variable2}"种字符串 之前可以使用下面的字符串构建器格式

来完成
test message {0} and {1}  

让我知道有没有替代方法为$ string格式

执行此操作

1 个答案:

答案 0 :(得分:4)

$"test message {variable1} and {variable2}"string.Format("test message {0} and {1}", variable1, variable2)的语法糖。

您只能在资源中放置静态值。您无法将动态值作为动态值的格式化字符串。

如果您真的想要使用字符串插值,则需要使用格式键入资源并执行以下操作:

string R(FormattableString fs)
{
    return string.Format(Resources.GetString(fs.Format), fs.GetArguments());
}

// uses "test message {0} and {1}" as resource key
R($"test message {variable1} and {variable2}");