我正在调整这个循环以及用我的方法的输出填充数组的内容,我不确定最后一部分“array2DB [i,i] =”我怎么做这个。
根据回复更新循环
private void BackGroundLoop()
{
for (int i = 1; i < 31; i++)
{
string txbName = "br" + i + "txt" + '3';
TextBox txtBCont1 = (TextBox)this.Controls[txbName];
string string1 = txtBCont1.Text.ToString();
UpdateFormClass.runUserQuery(string1);
array2DB[0, i - 1] = int.Parse(UpdateFormClass.gamleSaker.ToString());
array2DB[1, i - 1] = int.Parse(UpdateFormClass.nyeSaker.ToString());
}
}
答案 0 :(得分:1)
这是你能做的最多,没有遇到异常:
int[,] array2DB = new int[2, 30];
for (int i = 0; i < 30; i++)
{
string txbName = "br" + i + "txt" + '3';
TextBox txtBCont1 = (TextBox)this.Controls[txbName];
string string1 = txtBCont1.Text.ToString();
UpdateFormClass.runUserQuery(string1);
array2DB[0,i] = int.Parse(UpdateFormClass.gamleSaker.ToString());
array2DB[1,i] = int.Parse(UpdateFormClass. nyeSaker.ToString());
}
请注意,您不能拥有array2DB[2, *]
或更高版本,因为它会生成arrayoutofbound
例外。
答案 1 :(得分:1)
你必须使用两个for循环。每个数组的x和y轴一个。
for (int i = 0; i < 2; i++){
for (int j = 0; j < 30; j++)
{
....
array2DB[i,j] = int.Parse(UpdateFormClass.gamleSaker.ToString())
, int.Parse(UpdateFormClass.nyeSaker.ToString());
}
}
答案 2 :(得分:1)
我不是100%肯定你想做什么,但你想要的可能是这而不是你的最后一行:
array2DB[0, i - 1] = int.Parse(UpdateFormClass.gamleSaker.ToString()); array2DB[1, i - 1] = int.Parse(UpdateFormClass.nyeSaker.ToString());索引中需要
-1,因为数组是从.NET中的0索引的。