我有以下代码:无法创建BlockingCollection阵列
//In a Class:
private BlockingCollection<T>[] _collectionOfQueues;
// In the Constructor:
_collectionOfQueues = new BlockingCollection<T>(new ConcurrentQueue<T>())[4];
我得到以下错误为底线:
无法应用用[]索引,以类型的表达式“系统.Collection.Concurrent.BlockingCollection”
即使我做的:
_collectionOfQueues = new BlockingCollection<T>(new ConcurrentQueue<T>())[];
我得到的最后一个方括号的错误:
语法错误;值预期
我试图使BlockingCollection
阵列与ConcurrentQueue
集合,这样我可以这样做:
_collectionOfQueues[1].Add(...);
// Add an item to the second queue
我在做什么错了,我能做些什么来解决这个问题?我能不能创建一个BlockingCollection
的数组,我必须列出它吗?
您不能使用'new'来创建一个数组并像这样填充它。但您可以使用表达式从字面集合中初始化一个数组:'_collectionOfQueues = new BlockingCollection [] {new ConcurrentQueue (),null,null,null};'(添加'null's给它的大小4)。 –
Richard
2012-08-09 10:15:33