C# · 12月 26, 2021

c# – 格式化字符串插补中的虚线

我刚刚检查C#6.0中的新字符串插补功能(更多详细信息,请参阅 Language Features page at Roslyn).使用当前的语法(预计会发生更改),您可以执行此操作(示例来自我刚写的博客文章): var dob2 = “Customer \{customer.IdNo} was born on \{customer.DateOfBirth:yyyyMdd}”;

但是,我似乎不能在格式化部分包含破折号,例如:

var dob2 = “Customer \{customer.IdNo} was born on \{customer.DateOfBirth:yyyy-M-dd}”;

如果我这样做,我会收到错误:

Error CS1056 Unexpected character ‘-‘ StringInterpolation Program.cs 21

有什么办法可以让破折号在格式化部分工作吗?我知道我可以使用string.Format(),但是我想看看它是否可以用字符串插值来完成,就像一个练习一样.

编辑:由于似乎没人知道我在说什么,参见my blog post关于这个问题,看看它应该如何工作.

解决方法 使用VS 2015 Preview中的字符串插值版本,您可以使用插值格式中的破折号将其包含在另一对引号中: var dob2 = “Customer \{customer.IdNo} was born on \{customer.DateOfBirth : “yyyy-M-dd”}”;