Перегляньте рішення для об'єднання значень масиву рядків як рядків і завдання цілих числових значень
Наведений нижче код є одним із можливих рішень для завдання з попередньої одиниці.
Примітка
Зразки коду в цій вправі розроблені на основі 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
Якщо ви були успішними, вітаємо!
Важливий
Якщо у вас виникли проблеми з виконанням цього завдання, може бути, ви повинні переглянути попередні одиниці, перш ніж продовжити.