net interpolación cadenas asp c# string-formatting string-interpolation c#-6.0

asp - interpolación de cadenas c#



Formato de guiones en la interpolación de cadenas (2)

Acabo de comprobar la nueva función de interpolación de cadenas en C # 6.0 (consulte la página de Características del idioma en Roslyn para obtener más detalles). Con la sintaxis actual (que se espera que cambie), puedes hacer algo como esto (ejemplo tomado de una publicación de blog que estoy escribiendo ahora):

var dob2 = "Customer /{customer.IdNo} was born on /{customer.DateOfBirth:yyyyMdd}";

Sin embargo, parece que no puedo incluir guiones en la parte de formato, como:

var dob2 = "Customer /{customer.IdNo} was born on /{customer.DateOfBirth:yyyy-M-dd}";

Si hago eso, me sale el error:

Error CS1056 Carácter inesperado ''-'' StringInterpolation Program.cs 21

¿Hay alguna manera de conseguir que los guiones funcionen en la parte de formato? Sé que solo puedo usar string.Format (), pero quiero ver si se puede hacer con interpolación de string, solo como un ejercicio.

Edición : como parece que nadie sabe de qué estoy hablando, vea la publicación de mi blog sobre el tema para ver cómo se supone que funciona.


Con la versión de interpolación de cadenas que se encuentra en la Vista previa de VS 2015, puede usar caracteres como guiones en el formato de interpolación encerrándolos en otro par de comillas:

var dob2 = "Customer /{customer.IdNo} was born on /{customer.DateOfBirth : "yyyy-M-dd"}";


La versión final es más fácil de usar:

var text = $"The time is {DateTime.Now:yyyy-MM-dd HH:mm:ss}";