Dans mon code, je reçois beaucoup de nombres qui sont séparés par un espace. Ainsi, par exemple, je reçois 318 numéros et je dois les mettre dans un tableau. donc je l'ai fait:erreur de compilation lors de la conversion de la chaîne de nombres
int[] alleNummers = Array.ConvertAll(Console.ReadLine().Split(new[] { ' ' }), int.Parse);
mais quand je remplissais cette longueur des nombres:
4 1 3 3 4 6 10 1 1 8 7 1 8 6 11 9 2 6 9 1 8 2 12 9 12 1 3 1 6 8 6 10 9 9 1 1 2 11 2 2 6 8 3 1 1 2 10 3 7 6 3 3 7 2 11 7 2 2 7 8 10 1 6 6 9 7 7 11 5 8 1 10 3 3 11 4 4 8 6 11 2 8 1 9 10 12 3 12 1 10 8 11 11 1 4 8 7 10 6 11 6 7 9 8 10 8 11 1 4 5 12 5 1 1 1 10 12 4 10 1 2 5 11 12 6 3 7 1 1 1 12 6 7 9 2 4 4 12 5 7 5 5 12 5 5 12 3 5 4 12 5 5 5 4 4 10 7 11 10 7 12 10 1 7 6 2 11 10 2 4 4 6 8 4 11 1 3 1 5 7 1 9 11 5 1 3 3 7 2 1 1 1 10 1 8 3 3 6 12 4 10 4 9 5 7 8 6 10 8 10 4 9 7 3 1 7 6 4 1 7 4 2 8 1 3 3 4 5 9 4 9 6 8 6 11 2 1 4 12 9 1 4 5 8 7 6 2 12 9 3 6 12 5 1 1 8 4 4 1 12 8 9 6 3 2 5 5 3 8 4 11 9 8 3 4 2 8 6 2 5 9 7 4 1 8 5 9 12 8 9 12 3 6 5 6 8 9 10 10 5 2 8 1 9 10 5 11 6 10 12 10 6 7 2 7 2 6 3.
Je reçois system.formatexception: Input string was not in a correct format.
Je regardais autour de l'Internet et je voyais que je devais changer mon code pour ceci:
int[] alleNummers = Array.ConvertAll(Console.ReadLine().Split(new[] { ' ' },StringSplitOptions.RemoveEmptyEntries), int.Parse);
Mais maintenant je ne reçois pas tous les nombres et je n'ai aucune idée pourquoi cela se produit. Quand j'ai rempli les nombres ci-dessus, alleNummers.Count
donnez-moi 115 et non 318.
Je voudrais savoir pourquoi cela se passe et ce que je devrais faire pour obtenir ces nombres dans un tableau ou dans n'importe quel collections.generic class
.
Vous avez peut-être deux espaces en série. Le mieux est de pouvoir d'abord supprimer l'espace de la chaîne puis de passer à un tableau. – Olivarsham
Plutôt que de tester cela en tapant dans la console, testez-le en assignant les données de test à une chaîne et utilisez-les à la place de 'Console. ReadLine() '. Si vous pouvez reproduire le problème de cette façon, publiez le programme entier ici. –
Pour moi, le premier code compile et fonctionne très bien et recule 318 éléments. Êtes-vous sûr que votre entrée ressemble à ceci? Vous pouvez avoir une erreur sur l'un de ces numéros, par ex. quelque chose comme '3.5'. – HimBromBeere