如何创建一个空字符串数组和初始化

本文关键字:字符串 初始化 一个 数组 何创建 创建 | 更新日期: 2023-09-27 17:54:38

我想创建一个空字符串数组然后在循环中设置For

string[] temp = new string[4];
        for (int i = 0; i < 9; i++)
        {
            string nRoom ="R"+(i+1);
            temp[i] = c1.Reader(query,nRoom); //c1.Reader() returns a String Value                   
        }                                    // and assign "0" or "1" to temp[]
        int j = 0;
        string[] Item =new string[]{};
        for (int i = 0; i < 4 ; i++)
        {
            if (temp[i] == "0")
            {
                Item[j] = comboBox3.Text + "0" + (i + 1);
                j++;
            }  
        }

但是我有这个错误:

索引在数组边界之外

代码行 中的

Item[j] = comboBox3.Text + "0" + (i + 1);

如何创建一个空字符串数组和初始化

你应该指定数组长度:

 string[] Item =new string[4];

你的代码初始化空数组。

还可以使用以下代码:

var Item = new List<string>();
...
Item.Add(comboBox3.Text + "0" + (i + 1));

您已经创建了大小为4的new string[4]数组,您的for循环变为8,因此它将尝试访问数组中不存在的部分。你必须在创建数组时相应地调整数组的大小。

如果你已经知道你的数组需要多大,那就没有问题。有很多方法可以调整数组的大小,但我在某处读到这是一个昂贵的过程。如果你事先不知道你的收藏将有多大,使用List<T>可能是一个更好的选择。