Passer en revue une solution au défi impliquant la combinaison des valeurs d’un tableau de chaînes en tant que chaînes et en tant qu’entiers
Le code suivant est une solution possible au défi à relever de l’unité précédente.
Remarque
Les exemples de code de cet exercice sont conçus en fonction des paramètres culturels américains et l’utilisation du point (.) sert de séparateur décimal. La création et l’exécution du code avec un paramètre culturel qui utilise un séparateur décimal différent (par exemple une virgule ,) peuvent entraîner des résultats ou des erreurs inattendus. Pour résoudre ce problème, remplacez les points séparateurs de décimale dans les exemples de code par votre séparateur décimal local (, par exemple).
Sinon, pour exécuter un programme à l’aide du paramètre culturel américain, ajoutez le code suivant en haut de votre programme using System.Globalization; et, après toute autre instruction using, ajoutez 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}");
Ce code est simplement « une solution possible », car il existe probablement plusieurs façons de résoudre ce problème. La solution proposée s’appuie sur TryParse(), mais vous pouvez utiliser une autre approche qui fonctionne aussi bien. Vérifiez simplement que votre résultat correspond à la sortie suivante :
Message: ABCDEF
Total: 68.3
Si vous avez réussi, félicitations !
Important
Si vous avez rencontré des difficultés pour relever ce défi, songez à réviser les unités précédentes avant de continuer.