Exception non gérée

Résolu
mano23 - 5 janv. 2013 à 17:10
 mano23 - 5 janv. 2013 à 22:04
Bonjour,

Je suis nouveau en C# et j'ai un petit problème pour sortir d'une boucle while quand l'utilisateur ne saisit aucune valeur. J'ai une erreur "Exception non gérée: System.IndexOutOfRangeException: L'index se trouve en dehors des limites du tableau". Voici mon code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SenTech
{
    class Program
    {
        static void Main(string[] args)
        {
            string  saisie = " ";
            do
            {
                // Demander à 1'utilisateur de saisir une série de nombres
                Console.WriteLine("Entrez une série de nombres séparés par des virgules");

                //Pour lire le texte
                saisie = Console.ReadLine();
                Console.WriteLine();

                // Pour convertir la ligne saisie en segnents et en utilisant la virgule conme séparateur
                char[] separateur = { ',' };
                string[] segment = saisie.Split(separateur);

                Console.WriteLine("X : " + segment[0] + " Y : " + segment[1]);
                
                //Console.ReadLine();
            } 
            while (!string.IsNullOrEmpty(saisie));
        }
    }
}

Merci de votre aide.

2 réponses

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
5 janv. 2013 à 19:02
Salut,

Rajoutes un test après l'affectation du tableau :

string[] segment = saisie.Split(separateur);
if( segment == null || segment.Length < 2 )
{
    Console.WriteLine("Saisie invalide...");
    break;
}


bye...
3