A sztringtömbértékek sztringként és egész számként való kombinálására szolgáló megoldás áttekintése

Befejeződött

Az alábbi kód az előző leckéből származó kihívás egyik lehetséges megoldása.

Jegyzet

A gyakorlatban szereplő kódminták en-US kulturális beállítások alapján lettek kialakítva, és egy pont (.) használatával tizedesjelet használnak. A kód létrehozása és futtatása más tizedesjeleket használó kulturális beállítással (például vesszővel ,) váratlan eredményeket vagy hibákat okozhat. A probléma megoldásához cserélje le a kódmintákban szereplő pont decimális elválasztójeleket a helyi tizedeselválasztóra (például ,). Másik lehetőségként, ha a en-US kulturális beállítással szeretne programot futtatni, adja hozzá a következő kódot a program elejéhez: using System.Globalization; és bármely más using utasítás után adja hozzá 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}");

Ez a kód csupán "egy lehetséges megoldás,", mert valószínűleg több módszer is van a feladat megoldására. A javasolt megoldás TryParse()támaszkodik, de lehetséges, hogy van egy másik megközelítés is, amely egyformán jól működik. Csak győződjön meg arról, hogy az eredmény megegyezik a következő kimenettel:

Message: ABCDEF
Total: 68.3

Ha sikeres volt, gratulálunk!

Fontos

Ha nem sikerült elvégeznie ezt a feladatot, érdemes lehet áttekinteni az előző egységeket, mielőtt továbblép.