我遇到了问题:
public void button20_Click(object sender, EventArgs e)
{
string CellDataID;
string[] IDString;
for (int RowCount = 2; RowCount <= LastRow; RowCount++)
{
xlRange = (Excel.Range)xlSht.Cells[RowCount, colNumberID];
CellDataID = (string)xlRange.Text;
PrinterBox1.Items.Add(CellDataID);
IDString = new string[LastRow];
IDString[RowCount - 1] = CellDataID;
}
}
我需要在循环之外使用所有IDString[]
项,但不知道如何操作。 VS C#说如果我想使用它,变量必须有任何值/声明。任何人都可以帮助我吗?
本周我有几个关于循环的噩梦......
答案 0 :(得分:1)
您永远不会instanciate IDString
或给它一个长度。
string[] IDString;
你可能需要这样的东西:
string CellDataID;
//List<T>(s) are more flexible than arrays
//new instantiates it
List<string> IDString = new List<string>;
for (int RowCount = 2; RowCount <= LastRow; RowCount++)
{
xlRange = (Excel.Range)xlSht.Cells[RowCount, colNumberID];
CellDataID = (string)xlRange.Text;
PrinterBox1.Items.Add(CellDataID);
//this is just wrong.
//IDString = new string[LastRow];
//add the string to your list
IDString.Add(CellDataID);
}
如果您需要阵列,请执行以下操作:
IDString.ToArray()
或者更好,只需使用IEnumerable<T>
将其传递到您的方法中,然后接受array
或List<T>
答案 1 :(得分:0)
试试这个:
IDString.Any(y => y == something)
你可以在没有foreach循环的情况下使用你的数组。