Я только что просмотрел новую функцию интерполяции строк в С# 6.0 (см. страницу Language Features в 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}";
Если я это сделаю, я получаю сообщение об ошибке:
Ошибка CS1056 Неожиданный символ '-' StringInterpolation Program.cs 21
Есть ли способ заставить тире работать в части форматирования? Я знаю, что могу просто использовать string.Format(), но я хочу посмотреть, можно ли это сделать со строковой интерполяцией, так же как и упражнение.
Изменить: поскольку кажется, что никто не знает, о чем я говорю, см. мой пост в блоге по этому вопросу, чтобы узнать, как это сделать должен работать.