Gig*_*igi 22 c# string-formatting string-interpolation c#-6.0
我刚刚在C#6.0中查看了新的字符串插值功能(有关详细信息,请参阅Roslyn的语言功能页面).使用当前语法(预计会改变),你可以做这样的事情(例子来自我刚才写的博客文章):
var dob2 = "Customer \{customer.IdNo} was born on \{customer.DateOfBirth:yyyyMdd}";
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法在格式化部分中包含短划线,例如:
var dob2 = "Customer \{customer.IdNo} was born on \{customer.DateOfBirth:yyyy-M-dd}";
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我会收到错误:
错误CS1056意外字符' - 'StringInterpolation Program.cs 21
有什么方法可以让破折号在格式化部分工作吗?我知道我可以使用string.Format(),但我想看看它是否可以用字符串插值完成,就像练习一样.
Mik*_*sov 48
最终版本更加用户友好:
var text = $"The time is {DateTime.Now:yyyy-MM-dd HH:mm:ss}";
Run Code Online (Sandbox Code Playgroud)
使用VS 2015预览版中的字符串插值版本,您可以在插值格式中使用短划线等字符,将其括在另一对引号中:
var dob2 = "Customer \{customer.IdNo} was born on \{customer.DateOfBirth : "yyyy-M-dd"}";
Run Code Online (Sandbox Code Playgroud)