Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么列表在索引到它时会爆炸?_C# - Fatal编程技术网

C# 为什么列表在索引到它时会爆炸?

C# 为什么列表在索引到它时会爆炸?,c#,C#,我创建了一个列表作为类级字段,如下所示: private readonly IList<int> _intCol = new List<int>(); 例外情况: 索引超出范围。必须为非负数且小于 集合。参数名称:index 此时,_intCol是一个大小为0的列表,它的第一个位置没有元素 您可以使用_intCol.Add0 另见: 如果您确实希望以这种方式插入元素,您可以使用字典,但请注意,您的元素不是有序的,您只需将数字映射到数字。例如: Dictionary<

我创建了一个列表作为类级字段,如下所示:

private readonly IList<int> _intCol = new List<int>();
例外情况:

索引超出范围。必须为非负数且小于 集合。参数名称:index

此时,_intCol是一个大小为0的列表,它的第一个位置没有元素

您可以使用_intCol.Add0

另见:

如果您确实希望以这种方式插入元素,您可以使用字典,但请注意,您的元素不是有序的,您只需将数字映射到数字。例如:

Dictionary<int, int> integers = new Dictionary<int, int>();
integers[0] = 13;
integers[42] = 14;
此时,_intCol是一个大小为0的列表,它的第一个位置没有元素

您可以使用_intCol.Add0

另见:

如果您确实希望以这种方式插入元素,您可以使用字典,但请注意,您的元素不是有序的,您只需将数字映射到数字。例如:

Dictionary<int, int> integers = new Dictionary<int, int>();
integers[0] = 13;
integers[42] = 14;

如果没有用任何元素填充列表,那么尝试引用元素0将失败,就像那样。您应该首先检查计数,并且不要引用任何大于计数-1的元素索引。

如果您没有用任何元素填充列表,那么尝试引用元素0将失败,就像那样。您应该先检查计数,不要引用任何大于计数-1的元素索引。

您还没有添加任何内容。因此,索引0还不存在。集合的大小为零,而索引为零。零不小于零,因此出现错误消息。这是一个非常好的问题。为什么要投反对票?@jfar:有1张反对票,人们可以出于任何理由投反对票。请不要用无用的评论把评论区弄得乱七八糟。你还没有添加任何东西。因此,索引0还不存在。集合的大小为零,而索引为零。零不小于零,因此出现错误消息。这是一个非常好的问题。为什么要投反对票?@jfar:有1张反对票,人们可以出于任何理由投反对票。请不要用无用的评论把评论区弄得乱七八糟。我为什么要使用允许这样索引的类型?@JamesRedcoat-请参阅我的编辑。不过,这在很大程度上取决于你需要什么。例如,如果知道集合的大小,或者希望间距之间为空0个元素,则可以对数组进行云初始化。这里有很多考虑因素……为什么我应该使用允许这样索引的类型?@JamesRedcoat-请参阅我的编辑。不过,这在很大程度上取决于你需要什么。例如,如果知道集合的大小,或者希望间距之间为空0个元素,则可以对数组进行云初始化。这里有很多考虑因素。。。
{42: 14, 0: 13}