【发布时间】:2015-11-28 09:23:41
【问题描述】:
我可以这样做:
var log = string.Format("URL: {0}", url);
甚至像这样
var format = "URL: {0}";
...
var log = string.Format(format, url);
我在其他地方定义了一个 format 并使用 format 变量,而不是内联字符串。
在 C# 6 中,这似乎是不可能的:
var format = $"URL: {url}"; // Error url does not exist
...
var url = "http://google.com";
...
var log = $format; // The way to evaluate string interpolation here
有没有在前面声明的变量中使用字符串插值?
C# 6 似乎在编译期间内插了字符串。但是,请考虑使用此功能进行本地化,在配置中定义格式或在类中简单地使用格式 const。
【问题讨论】:
-
你不能那样做。只需使用
string.Format。 -
您必须使用您一直在使用的“旧方式”或将其包装到私有方法中。