Ceci est une question sur la façon dont le compilateur/langage traite de cela. Prenez le code suivant:C# max() à partir du tableau de chaînes pas toujours le plus grand nombre
Console.WriteLine("Enter some numbers separated by ",");
var numbers = Console.ReadLine();
var splitNumber = numbers.Split(',');
var maxNumber = splitNumber.Max();
Console.WriteLine("highest is: " + maxNumber);
Saisie d'une chaîne telle que « 1,2,3,4,5 » sortira le 5 comme le nombre maximum. Cependant, en utilisant "1,2,3,55,6" sorties 6. Alors que "33,1,4,1" donne 4. Bizarrement, "33,1,2,3" donne 33.
Je sais qu'il existe une meilleure façon de faire cela en utilisant une boucle. Il me manque totalement quelque chose avec la façon dont le compilateur traite ces chaînes pour déterminer la sortie. Quelqu'un peut-il l'expliquer? Ou me fournir une référence pour le regarder?
Notez que 'splitNumber' est un tableau de' String' – CinCout