Projděte si řešení pro kombinování hodnot řetězcových polí jako řetězců a jako celočíselné výzvy.

Dokončeno

Následující kód je jedním z možných řešení úkolu z předchozí lekce.

Poznámka

Ukázky kódu v tomto cvičení jsou navrženy na základě nastavení jazykové verze en-US a jako oddělovač desetinných míst použijte tečku (.). Sestavení a spuštění kódu s nastavením jazykové verze, které používá jiné oddělovače desetinných míst (například čárku ,), můžou poskytnout neočekávané výsledky nebo chyby. Pokud chcete tento problém vyřešit, nahraďte oddělovače desetinných míst tečky v ukázkách kódu místním oddělovačem desetinných míst (například ,). Pokud chcete program spustit pomocí nastavení jazykové verze en-US, přidejte do horní části programu následující kód: using System.Globalization; a za jakékoli jiné příkazy using přidávají 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}");

Tento kód je pouze "jedním z možných řešení", protože existuje pravděpodobně několik způsobů, jak tuto výzvu vyřešit. Navrhované řešení spoléhá na TryParse(), je však možné, že máte jiný přístup, který funguje stejně dobře. Ujistěte se, že výsledek odpovídá následujícímu výstupu:

Message: ABCDEF
Total: 68.3

Pokud jste byli úspěšní, blahopřejeme!

Důležitý

Pokud jste měli potíže s dokončením této výzvy, měli byste si před pokračováním projít předchozí lekce.