檢閱將字串數位合併為字串和整數挑戰的解決方案
下列程式代碼是上一個單元中挑戰的可能解決方案。
注意
本練習中的程式代碼範例是根據 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
如果您成功,恭喜!
重要
如果您無法完成這項挑戰,或許您應該先檢閱先前的單元,再繼續作。