檢閱將字串數位合併為字串和整數挑戰的解決方案

已完成

下列程式代碼是上一個單元中挑戰的可能解決方案。

注意

本練習中的程式代碼範例是根據 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

如果您成功,恭喜!

重要

如果您無法完成這項挑戰,或許您應該先檢閱先前的單元,再繼續作。