Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > System.NullReferenceException на reference


Автор: -ser- 2.2.2005, 11:58
уже запутался. все работало нормально когда было просто:
Код
private Queue qBuf = new Queue();
когда поменял на:
Код
private Queue[] qBuf = new Queue[ 5 ];

в период выполнения ругается на qBuf[i].xxx:
Цитата
System.NullReferenceException, Object reference not set to an instance of an object.
и смысл ошибки понятен а как правильно сделать не догоняю.

Автор: AntonSaburov 2.2.2005, 13:12
Ты создал массив из пяти ссылок на объекты Queue. Но КАЖДУЮ ссылку надо проинициализировать объектом.

Код

private Queue[] qBuf = new Queue[ 5 ];
...
for(int i=0; i<M; i++) {
   qBuf[i] = new Queue();
}

Автор: [Last]Wizard 2.2.2005, 13:16
Ну естественно. Ты же создал только массив из 5 объектов, а сами объекты ты не создал!

Правильно сделать так:
Код
private Queue[] qBuf = new Queue[ 5 ];
for(int i=0; i<5; i++)
{
   qBuf[i] = new Queue();
}

Все, теперь можно обращаться к объектам внутри массива.

ЗЫ. AntonSaburov, ты уже успел раньше меня smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)