2016-01-27 4 views
-1

Je suis en train d'écriture petit programme utilisant concept d'interface C# pour la zone du cercle & square.While Donner condition spécifique if (args[0] == "S") il y a une erreur IndexOutOfRangeException:Erreur: index était en dehors des limites du tableau en C#

if (args[0]=="S") 
    fig = new Square(); 
if (args[0]=="C") 
    fig = new Circle(); 
+0

Vous ne vérifiez pas si le tableau args a une longueur différente de zéro. Il serait préférable si vous avez inclus votre code ici en tant que texte au lieu de lier à une image. –

Répondre

0

Cela se produira si args est vide. Vous ne pouvez pas demander le premier élément d'un tableau vide, car il n'y en a pas. Vous devez d'abord vérifier la longueur:

if (args.Length == 0) 
{ 
    // Maybe exit? Is it valid not to specify any arguments? 
} 
// Either use an "else" here, or if you've quit in the "if" block 
// then you don't need to because you know that there's at least 
// one argument by now