Revizuiți o soluție pentru combinarea valorilor matrice de șiruri ca șiruri și ca provocare de numere întregi

Finalizat

Următorul cod este o soluție posibilă pentru provocarea de la unitatea anterioară.

Notă

Eșantioanele de cod din acest exercițiu sunt proiectate pe baza setărilor de cultură en-US și utilizează un punct (.) ca separator zecimal. Construirea și rularea codului cu o setare de cultură care utilizează un separator zecimal diferit (cum ar fi o virgulă ,) poate oferi rezultate sau erori neașteptate. Pentru a remedia această problemă, înlocuiți separatorii de perioadă zecimală din eșantioanele de cod cu separatorul zecimal local (cum ar fi ,). Ca alternativă, pentru a rula un program utilizând setarea de cultură en-US, adăugați următorul cod în partea de sus a programului: using System.Globalization; și, după orice alte instrucțiuni de using, adăugați 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}");

Acest cod este doar "o soluție posibilă", deoarece există mai multe modalități de a rezolva această provocare. Soluția propusă se bazează pe TryParse(), însă este posibil să aveți o altă abordare care funcționează la fel de bine. Asigurați-vă că rezultatul se potrivește cu următorul rezultat:

Message: ABCDEF
Total: 68.3

Dacă ați reușit, felicitări!

Important

Dacă ați avut probleme la finalizarea acestei provocări, poate ar trebui să revizuiți unitățile anterioare înainte de a continua.