创建空数组并添加值导致“;数组索引超出范围”;

本文关键字:数组 索引 范围 添加 创建 | 更新日期: 2023-09-27 18:21:35

这里出了什么问题?

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

我得到

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

创建空数组并添加值导致“;数组索引超出范围”;

不能向长度为0的数组添加任何内容。您实际上是在尝试设置一个没有元素的数组的第一个元素的值。如果要执行此操作,则不能调整数组的大小。

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

通过声明{},您将其定义为一个空数组。

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

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

初始化如下:

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

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

您需要指定数组的大小。

例如

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

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