C#Foreach循环 - 继续问题

Goo*_*ber 6 c# foreach datagridview continue

我的C#Foreach循环中的continue语句有问题.

我希望它检查datagridview中是否有空白单元格,如果是,则跳过打印值并继续检查下一个单元格.

非常感谢.

这是代码:

foreach (DataGridViewRow row in this.dataGridView1.Rows)
{                            
    foreach (DataGridViewCell cell in row.Cells)
    {
        if (cell.Size.IsEmpty)
        {
            continue;
        }
        MessageBox.Show(cell.Value.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 16

那么,您目前正在检查单元格的大小是否为零.在网格中,列中的每个单元格具有相同的宽度,并且行中的每个单元格具有相同的高度(通常,无论如何).

您希望根据单元格的进行检查.例如:

if (cell.Value == null || cell.Value.Equals(""))
{
    continue;
}
Run Code Online (Sandbox Code Playgroud)

对你感兴趣的"空"值的任何其他表示进行调整.如果有很多,你可能想为此编写一个特定的方法,并在检查中调用它:

if (IsEmptyValue(cell.Value))
{
    continue;
}
Run Code Online (Sandbox Code Playgroud)

  • 不,我发现继续和休息很好 - 虽然我从未使用过goto.特别是,我不想只是反转条件并将所有内容放在另一个块中 - 与简单的"我不想在这个迭代中做任何其他事情,如果满足这个条件"相比,嵌套变得疯狂. (9认同)