none
C# foreach versus for RRS feed

  • Pergunta

  • Qual a estrutura de loop melhor e mais rápida para varrer um datagridview, for ou foreach?



    http://luisgustavo12.wordpress.com/

    sexta-feira, 3 de outubro de 2014 13:36

Respostas

  • Bom dia.

    Você usa Linq?

    Se sim recomendo através da expressão "lambda" receber uma lista com os dados e varrer um a um.

    Na situação descrita seria melhor o foreach.

    Estou a disposição para eventual dúvida.

    • Marcado como Resposta GuSouza sexta-feira, 3 de outubro de 2014 15:01
    sexta-feira, 3 de outubro de 2014 13:39
  • Olá GuSouza,

    Nunca tive problemas...

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

    For Each row As DataGridViewRow In Me.dataGridView1.Rows
    	For Each cell As DataGridViewCell In row.Cells
    		If cell.Size.IsEmpty Then
    			Continue For
    		End If
    		MessageBox.Show(cell.Value.ToString())
    	Next
    Next


    Se o meu conteúdo resolveu o seu problema ou sua dúvida, então marque como "Resposta", ou se foi útil, "Vote". Pois isso ajudará outras pessoas com o mesmo problema ou dúvida.

    • Sugerido como Resposta Alvesanderson sexta-feira, 3 de outubro de 2014 14:18
    • Marcado como Resposta GuSouza sexta-feira, 3 de outubro de 2014 15:02
    sexta-feira, 3 de outubro de 2014 13:42

Todas as Respostas

  • Bom dia.

    Você usa Linq?

    Se sim recomendo através da expressão "lambda" receber uma lista com os dados e varrer um a um.

    Na situação descrita seria melhor o foreach.

    Estou a disposição para eventual dúvida.

    • Marcado como Resposta GuSouza sexta-feira, 3 de outubro de 2014 15:01
    sexta-feira, 3 de outubro de 2014 13:39
  • Olá GuSouza,

    Nunca tive problemas...

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

    For Each row As DataGridViewRow In Me.dataGridView1.Rows
    	For Each cell As DataGridViewCell In row.Cells
    		If cell.Size.IsEmpty Then
    			Continue For
    		End If
    		MessageBox.Show(cell.Value.ToString())
    	Next
    Next


    Se o meu conteúdo resolveu o seu problema ou sua dúvida, então marque como "Resposta", ou se foi útil, "Vote". Pois isso ajudará outras pessoas com o mesmo problema ou dúvida.

    • Sugerido como Resposta Alvesanderson sexta-feira, 3 de outubro de 2014 14:18
    • Marcado como Resposta GuSouza sexta-feira, 3 de outubro de 2014 15:02
    sexta-feira, 3 de outubro de 2014 13:42