嗨,我现在更好地提出了我的问题。
在 foreach 命令中,我获取数组中的临时(保存变量)值。我保存在 temp 中的值来自 datagridview 单元格。
在下一步中,在 for 命令中,我想比较 2 个字符串,即字符串和下一个字符串,如果第一个字符串大于第二个字符串,我想更改它们的位置。但是有一个问题,他们不改变位置,他们甚至得到一个空值,我不明白为什么他们得到一个空值。
我认为由于 foreach 命令,它们得到了一个空值,索引 [i] 保持不变,但是如果我输入 i = i+1,则该命令将超出范围。
谢谢
森克 妮可
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[i].Value == null)
{
//MessageBox.Show("This row is empty");
break;
}
if (row.Cells[i].Value != null)
{
temp = row.Cells[i].Value.ToString();
UnsortArray[i] = temp;
i = i + 1;
}
}
for (int a = 0; a < MaxZeilen; a++)
{
if (i < MaxZeilen)
{
*if (String.Compare(UnsortArray[a], UnsortArray[a + 1]) > 0)
{
UnsortArray[a] = temp;
UnsortArray[a + 1] = temp2;
temp = UnsortArray[a + 1];
temp2 = UnsortArray[a];
}*
}
}
for (int i = 0; i < MaxZeilen; i++)
{
UnsortArray[i] = SortArray[i];
MessageBox.Show(UnsortArray[i]);
}