2016-01-27 7 views
-1

Я пытаюсь писать небольшие программы, используя C# интерфейс концепции для площади круга & square.While Давать определенное условие if (args[0] == "S") есть ошибка IndexOutOfRangeException:Ошибка: Индекс находился вне границ массива в C#

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

Вы не проверяете, имеет ли массив args ненулевую длину. Было бы предпочтительнее, если бы вы включили ваш код здесь как текст вместо ссылки на изображение. –

ответ

0

Это произойдет, если args пуст. Вы не можете запросить первый элемент пустого массива, потому что его нет. Вы должны сначала проверить длину:

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 

 Смежные вопросы

  • Нет связанных вопросов^_^