Ознакомьтесь с решением для объединения значений массива строк в виде строк и целочисленных проблем
Следующий код является одним из возможных решений для задачи из предыдущего урока.
Заметка
Примеры кода в этом упражнении предназначены на основе параметров языка и региональных параметров en-US и используют период (.) в качестве десятичного разделителя. Создание и запуск кода с параметром языка и региональных параметров, использующими разные разделители десятичных разделителей (например, запятую ,) могут дать непредвиденные результаты или ошибки. Чтобы устранить эту проблему, замените десятичные разделители периодов в примерах кода локальным разделителем десятичных разрядов (например, ,).
Кроме того, чтобы запустить программу с помощью параметра языка и региональных параметров en-US, добавьте следующий код в начало программы: using System.Globalization; и после любых других операторов using добавить 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}");
Этот код является просто "одним возможным решением", так как существует несколько способов решения этой проблемы. Предлагаемое решение основано на TryParse(), однако возможно, у вас есть другой подход, который работает одинаково хорошо. Просто убедитесь, что результат соответствует следующим выходным данным:
Message: ABCDEF
Total: 68.3
Если вы были успешными, поздравляем!
Важный
Если у вас возникли проблемы с выполнением этой задачи, возможно, вы должны просмотреть предыдущие единицы, прежде чем продолжить работу.