C# 如何创建空字符串数组并初始化?

C# 如何创建空字符串数组并初始化?,c#,C#,我想创建一个空字符串数组,然后在循环中为 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 }

我想创建一个空字符串数组,然后在循环中为

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++;
            }  
        }

您应该指定数组长度:

 string[] Item =new string[4];
您的代码初始化空数组

此外,您还可以使用以下代码:

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

如果您想要动态长度。

您已经创建了一个大小为4的
新字符串[4]
数组,您的
for
循环变为8,因此它将尝试访问数组中不存在的部分。在创建阵列时,必须相应地调整其大小


如果您已经知道您的阵列需要有多大,那就没问题了。有很多方法,但我在某个地方读到,这是一个昂贵的过程。如果你事先不知道你的收藏将有多大,使用
列表可能是一个更好的选择。

我知道,但我想成为一个动态数组,这是一个示例我想要一个数组,该数组中的项目将被一个接一个地添加,没有长度数组。我已经编辑了我的答案。他还可以将其设置为空数组,例如
string[]Item={}
也将初始化它并允许它增长accordingly@YuriDorokhov谢谢我的问题是solved@MethodMan不,我是这样测试的,但我有同样的错误
var Item = new List<string>();
...
Item.Add(comboBox3.Text + "0" + (i + 1));