我想知道Blocking Collection的默认大小。不知怎的,我的程序无法在阻塞集合中添加元素。
答案 0 :(得分:2)
此代码中的默认大小:
var collection = new BlockingCollection<int>();
根据{{3}}:,没有上限
初始化BlockingCollection类的新实例,没有上限。
(我的重点)
您还可以通过documentation属性了解此上限,在这种情况下,该属性将返回-1
。
显然,无限制的阻塞集合仍然可以添加到元素的数量上,因为最终底层数组或周围的内存变满,但它不是类本身强加的人为限制。 / p>
如果你观察到你不能将元素添加到这样的集合中,它就会阻塞,但显然它不是以这种方式构造的。
相反,它是使用特定限制构建的,您仍然可以使用上面显示的.BoundedCapacity
属性来了解此限制。
答案 1 :(得分:0)
As read here,默认构造函数构建一个没有上限的阻塞集合。所以你的问题就在其他地方。