Как проверить, установлена ​​ли ссылка на объект или нет - PullRequest
0 голосов
/ 26 марта 2012

Существует массив из 1000 ячеек.Я поместил туда 50 объектов, поэтому осталось 950 ячеек (неиспользуемые ссылки).

Я хочу просмотреть 50 объектов, помещенных в массив, а затем выйти из цикла.Сейчас цикл входит в массив [51], и я получаю сообщение об ошибке:

**Object reference not set to an instance of an object.**

Я пробовал условие if (array[i] != null), но оно не работает.

edit: (больше кода)

for (i = 0; i < 1000; i++)
    {
    if (tablica_postaci[i] != null)
       {
       ...(actions)...
       }
    }

0-49 ячейки заполнены, остальные я не трогал.Тем не менее, есть эта ошибка.Я хочу, чтобы моя программа не выполняла действия после 50-го элемента

Ответы [ 2 ]

1 голос
/ 26 марта 2012

Почему бы вам просто не использовать предложение where, а затем выполнить цикл по массиву?

var itemsThatAreNotNull = array.Where(a => a != null);

foreach (var item in itemsThatAreNotNull)
{
    // do whatever you want to do with the item
    Console.WriteLine(item.SomeProperty);
}
1 голос
/ 26 марта 2012

Вот пример, вы можете просто вызвать ключевое слово break, чтобы выйти из цикла.

Company[] companies = new Company[1000];
for (int i = 0; i < 50; i++)
{
    companies[i] = new Company();
}

for (int i = 0; i < companies.Length; i++)
{
     if (companies[i] == null)
           {
               break;
           }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...