我需要在队列中插入一个简单的整数。
出于某种原因,它始终在null
引用时崩溃。我需要初始化队列吗?怎么做?
这是我的代码。
Queue<int>[] OdafimColors = new Queue<int>[10];
OdafimColors[i].Enqueue(-1);
这很简单,我无法理解为什么它不起作用。
答案 0 :(得分:3)
您需要初始化数组中的每个元素:
for(int i = 0; i<OdafimColors.Lenght; i++)
OdafimColors[i] = new Queue<int>();
您的定义不会为队列分配空间。它为数组分配内存,在初始化之前元素为空。
答案 1 :(得分:0)
我认为你不希望它成为阵列。这使它成为一个队列数组。
你可能想要:
Queue<int> OdafimColors = new Queue<int>();
OdafimColors.Enqueue(-1);
http://msdn.microsoft.com/en-us/library/7977ey2c(v=vs.110).aspx