Me gustaría hacer algunas formaciones de condiciones de cadenas. Yo sé que usted puede hacer algo de formato condicional de los enteros y los flotadores de la siguiente manera:Cómo formatear condicionalmente una cadena en .Net?
Int32 i = 0;
i.ToString("$#,##0.00;($#,##0.00);Zero");
El código anterior podría dar lugar a uno de los tres formatos de si la variable es positivo, negativo o cero.
Me gustaría saber si hay alguna forma de usar secciones en argumentos de cadenas. Para un hormigón, pero artificial ejemplo, estaría buscando para reemplazar el "si" comprobar en el siguiente código:
string MyFormatString(List<String> items, List<String> values)
{
string itemList = String.Join(", " items.ToArray());
string valueList = String.Join(", " values.ToArray());
string formatString;
if (items.Count > 0)
//this could easily be:
//if (!String.IsNullOrEmpty(itemList))
{
formatString = "Items: {0}; Values: {1}";
}
else
{
formatString = "Values: {1}";
}
return String.Format(formatString, itemList, valueList);
}
No estoy seguro de por qué esto ha sido rechazado, dado que ciertamente funciona ... ¿A los votantes les importa que me iluminen?Siempre es bueno saber por qué a las personas no les gustan las respuestas, hace que sea más fácil proporcionar mejores en el futuro. –
Religión probablemente ... supongo que el uso del operador ternario – Quibblesome
¿Simplificar? Absolutamente jajaja Usar ternary 'if' en este contexto es absolutamente extraño. 1. ¿Qué pasa si hay un tercer caso? 2. ¿Qué logras con este enfoque - 2 líneas de código más corto? – agibalov