У меня есть простой класс, что-то вроде этого:IndexOutOfRange в конструкторе C#
public class myClass
{
public static readonly string[] stringArray= { "one", "two" };
private string myString;
public myClass (int _index)
{
if(_index > (stringArray.Length - 1) || _index < 0)
{
throw new IndexOutOfRangeException("Bad index.");
}
else
{
myString = stringArray[_index];
}
}
}
Я бег простого конструктора: MyClass примера = MyClass (5); и у меня есть ошибка. Не нужно оставлять конструктор, не пытаясь создать новый объект?
Я не понимаю, как там работает бросок.
Редактировать: К сожалению, я допустил ошибку. Должен быть stringArray.Length -1 в разделе if.
Это не дубликат. OP имеет тип в своем коде, и ему нужна помощь. –
Вы не понимаете, почему выбрано ваше исключение, или почему бросание исключения в конструкторе приведет к тому, что объект не будет инициализирован? – juharr
Я просто хочу что-то вроде этого: myClass example = myClass (1); -> Все в порядке, у меня есть объект myClass example = myClass (5); -> Ошибка записи в консоли. – user3692826