【发布时间】:2014-10-15 06:47:13
【问题描述】:
我正在尝试执行以下操作:
int count = 50;
List<float> myList = new List<float>(50);
output[0] = 0.0f;
但我得到了错误:
ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
很明显,我误解了 List(或任何其他集合?)的初始容量。有人可以向我解释一下初始容量的用途吗?
【问题讨论】:
-
@rageit 默认 size 为 0。我认为默认容量类似于 16。 (凭记忆。)
-
什么是
output?您已经定义了大小为 50 的myList。 -
@TimothyShields 感谢您的纠正。大多数框架的默认容量似乎为 0 - stackoverflow.com/questions/1762817/default-capacity-of-list
-
@rageit ArgumentOutOfRangeException 被抛出,因为没有添加任何内容,并且尝试从索引 0 访问某些内容。容量与它没有任何关系。