创建空数组并添加值原因"数组索引超出范围"

时间:2014-09-12 10:37:44

标签: c# arrays string initialization

这里有什么问题?

string[] keysDictionary = new string[]{};
keysDictionary [0] = "test";

我得到了

  

System.IndexOutOfRangeException   数组索引超出范围。

5 个答案:

答案 0 :(得分:5)

通过陈述{},您将其定义为空数组。

因此,您应该将大小定义为:

string[] keysDictionary = new string[1];
keysDictionary [0] = "test";

像这样初始化:

string[] keysDictionary = new string[]{"test"};

答案 1 :(得分:4)

您无法向0长度数组添加任何内容。您实际上是在尝试设置没有元素的数组的第一个元素的值。如果你想这样做,可以使用像列表这样的东西,不能调整数组的大小。

var keysDictionary = new List<string>();
keysDicionary.Add("test");

答案 2 :(得分:2)

new string[]{}创建零长度数组

答案 3 :(得分:1)

您需要指定数组的大小。

e.g。

string[] keysDictionary = new string[1];
keysDictionary [0] = "test";

答案 4 :(得分:0)

如果您想要在添加值时动态更改大小的数组,请改用List。