簡體   English   中英

C#Foreach循環 - 繼續問題

[英]C# Foreach Loop - Continue Issue

我的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());
    }
}

那么,您目前正在檢查單元格的大小是否為零。 在網格中,列中的每個單元格具有相同的寬度,並且行中的每個單元格具有相同的高度(通常,無論如何)。

您希望根據單元格的進行檢查。 例如:

if (cell.Value == null || cell.Value.Equals(""))
{
    continue;
}

對你感興趣的“空”值的任何其他表示進行調整。如果有很多,你可能想為此編寫一個特定的方法,並在檢查中調用它:

if (IsEmptyValue(cell.Value))
{
    continue;
}

你不需要在這里使用continue關鍵字,你可以這樣做:

foreach (DataGridViewRow row in this.dataGridView1.Rows)
{                            
    foreach (DataGridViewCell cell in row.Cells)
    {
        if (!cell.Size.IsEmpty) MessageBox.Show(cell.Value.ToString()); // note the ! operator
    }
}

此外,您正在檢查單元格的大小是否為空。 這真的是你想要做的嗎?

你得到了什么錯誤?

你不應該檢查單元格的值是否為空而不是大小?

if(String.IsNullOrEmpty(cell.Value.ToString()))
    continue;

我想只閱讀單元格[1]數據... olny

foreach (DataGridViewRow row in this.dataGridView1.Rows)
{                            
    foreach (DataGridViewCell cell in row.Cells[1])
    {
       if (cell[1].Value == null || cell.Value.Equals(""))
{
    continue;
}

        MessageBox.Show(cell[1].Value.ToString());
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM