Revise una solución para combinar valores de matriz de cadenas como cadenas y como desafío de enteros
El código siguiente es una posible solución para el desafío de la unidad anterior.
Nota
Los ejemplos de código de este ejercicio se diseñan en función de la configuración de referencia cultural de en-US y usan un punto (.) como separador decimal. Compilar y ejecutar el código con una configuración de referencia cultural que usa separadores decimales diferentes (como una coma ,) puede dar resultados o errores inesperados. Para corregir este problema, reemplace los separadores decimales de punto en los ejemplos de código por el separador decimal local (por ejemplo, ,).
Como alternativa, para ejecutar un programa mediante la configuración de referencia cultural de en-US, agregue el código siguiente a la parte superior del programa: using System.Globalization; y después de cualquier otra instrucción using agregue CultureInfo.CurrentCulture = new CultureInfo("en-US");.
string[] values = { "12.3", "45", "ABC", "11", "DEF" };
decimal total = 0m;
string message = "";
foreach (var value in values)
{
decimal number; // stores the TryParse "out" value
if (decimal.TryParse(value, out number))
{
total += number;
} else
{
message += value;
}
}
Console.WriteLine($"Message: {message}");
Console.WriteLine($"Total: {total}");
Este código es simplemente "una posible solución" porque es probable que haya varias maneras de resolver este desafío. La solución propuesta se basa en TryParse(), pero es posible que tenga otro enfoque que funcione igualmente bien. Solo tiene que asegurarse de que el resultado coincide con la siguiente salida:
Message: ABCDEF
Total: 68.3
Si usted fue exitoso, enhorabuena!
Importante
Si tiene problemas para completar este desafío, quizás deba revisar las unidades anteriores antes de continuar.