Можно ли использовать 2D Array в очередях? форма окна - PullRequest
0 голосов
/ 28 января 2012
Queue[,] inventqueue = new Queue[10,7];
for(int row = 0; row < inventqueue.GetLength(0); row++)
{
   for (int col = ; col < inventqueue.GetLength(1); col++)
   {
      if(inventqueue[row,col].Count != 0)
      {
      MessageBox.Show("Theres a queue on " + row + "," + col);
      }
   }
}

Я пытался это сделать, но Visual Studio выдает мне сообщение об ошибке "Ссылка на объект не установлена ​​для экземпляра объекта."

1 Ответ

0 голосов
/ 28 января 2012

Вы выделяете только двойной массив, вам все равно нужно выделить Очереди для каждой записи в массиве, например:

Queue[,] inventqueue = new Queue[10,7];
for(int row = 0; row < inventqueue.GetLength(0); row++)
{
    for (int col = ; col < inventqueue.GetLength(1); col++)
    {
        inventqueue[row,col] = new Queue();
    }
}
...