Este error generalmente ocurre cuando utiliza símbolos que tienen significados definidos en la cadena de formato. La mejor manera de depurar estos es eliminar caracteres selectivamente hasta que funcione. El último personaje que eliminaste fue el problema.
En este caso, mirando el custom TimeSpan format strings, los corchetes son el problema. Escapar de ellos con "\", por ejemplo:
var ts = new TimeSpan(0, 3, 25, 0);
var myString = ts.ToString("\\[d'.'\\]hh':'mm");
[Editar: Agregado]
No hay manera mencionada en el cliente página de cadenas de formato personalizado TimeSpan omitir texto si los valores son 0. En este caso , considere una instrucción if
o el operador ?:
.
Sí, funcionará con seguridad. Pero usaría el formato ToString. MSDN dice que puedo usar "[" y "]". ¿Es verdad? – riofly
¿Dónde dice eso? Las únicas veces que noté '[' y ']' fue cómo describe las cadenas de formato estándar, pero sin decir que realmente puede usar esos símbolos 'mágicos' en formatos personalizados. –
Lo siento, de hecho, estaba equivocado. – riofly