如何创建一个空字符串数组和初始化
本文关键字:字符串 初始化 一个 数组 何创建 创建 | 更新日期: 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>
可能是一个更好的选择。