变量中的字符串插值

时间:2018-03-22 06:44:20

标签: c# string string-interpolation

我有一个只包含字符串常量的类。称之为A类。我在这里声明了以下变量。

public static string SetScore = $"Score[@Set='{currentSet}']";

还有另一个类,我们称之为B类。我将在B类中使用我的SetScore变量。现在这个B类知道什么是currentSet

问题是A类不知道什么是'currentSet'。

除了在B类或使用String.Format声明SetScore之外,有没有解决方法?

1 个答案:

答案 0 :(得分:3)

无法插补。 Jiter只是不知道上下文或何时使用该变量。

如果您认真考虑,何时应该更换它。首次使用?如果您想在不同的上下文中替换多个 Representations 该怎么办?听起来非常不可预测

然而,如果它是一种安慰。你可以这样做

public static string SetScore = "Score[@Set='{0}']";
...
result = string.Format(SetScore,currentSet)

Interpolated Strings (C# Reference)

  

用于构造字符串。插值字符串看起来像   包含插值表达式的模板字符串。一个   插值字符串返回一个替换插值的字符串   它包含的表达式及其字符串表示。

<强> Moreso

  

您可以在任何可以使用字符串的地方使用插值字符串   literal。每次使用代码时都会计算插值字符串   插值字符串执行。这允许你分开   定义和评估插值字符串。