Überprüfen einer Lösung für die Herausforderung zum Kombinieren von Arraywerten vom Typ „string“ als Zeichenfolgen und Integer
Der folgende Code ist eine mögliche Lösung für die Herausforderung aus der vorherigen Einheit.
Anmerkung
Die Codebeispiele in dieser Übung basieren auf den Einstellungen für die Kultur „en-US“ und verwenden einen Punkt (.) als Dezimaltrennzeichen. Das Erstellen und Ausführen des Codes mit einer Kultureinstellung, die ein anderes Dezimaltrennzeichen verwendet (z. B. ein Komma ,), kann zu unerwarteten Ergebnissen oder Fehlern führen. Um dieses Problem zu beheben, ersetzen Sie die Punkt-Dezimaltrennzeichen in den Codebeispielen durch das lokale Dezimaltrennzeichen (z. B. ,).
Wenn Sie alternativ ein Programm mit der Kultureinstellung „en-US“ ausführen möchten, fügen Sie den folgenden Code am Anfang des Programms hinzu: using System.Globalization;, und nach allen weiteren using-Anweisungen fügen Sie CultureInfo.CurrentCulture = new CultureInfo("en-US"); hinzu.
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}");
Dieser Code ist lediglich "eine mögliche Lösung", da es wahrscheinlich mehrere Möglichkeiten gibt, diese Herausforderung zu lösen. Die vorgeschlagene Lösung basiert auf TryParse(), aber es ist möglich, dass Sie einen anderen Ansatz haben, der gleichermaßen gut funktioniert. Stellen Sie einfach sicher, dass Ihr Ergebnis mit der folgenden Ausgabe übereinstimmt:
Message: ABCDEF
Total: 68.3
Wenn Sie erfolgreich waren, herzlichen Glückwunsch!
Wichtig
Wenn Sie Probleme beim Abschließen dieser Herausforderung hatten, sollten Sie vielleicht die vorherigen Einheiten überprüfen, bevor Sie fortfahren.