none
Duvida com variavel RRS feed

  • Pergunta

  • Galera tenho uma duvida que muitos devem ter e não sei se é a melhor forma para eu resolver que é a seguinte quando eu tenho uma variavel qualquer e uso ela desta forma:

     

    private void btnFiltrar_Click(object sender, EventArgs e)

    {

    DataRow[] drs;

    ...

    if (txtSerieNota.Text != "")

    {

    drs = ds.Tables[0].Select("DT_EMISSAO=" + "'" + txtDtEmissao.Text + "'");

    }

    foreach (DataRow dr in drs)

    {

    dsFiltro.Tables[0].Rows.Add(dr.ItemArray);

    }

    ...

    }

     

    O Visual Studio reclama o seguinte: "Use of unassigned local variable 'drs'" e a unica forma que sei como resolver isto é colocando ela como uma variavel global no começo do projeto ai gostaria de saber se é a forma correta ou tem outro jeito melhor de se fazer isto?

     

    Agradeço

    quinta-feira, 11 de setembro de 2008 11:39

Todas as Respostas

  •  

    Bom dia shigue_work.

     

    Neste caso, você declara o array de DataRow drs, mas você não cria uma instância do mesmo.

     

    Dependendo do if(txtSerieNota...) ele receberá um array de DataRows.

     

    Ou seja, o compilador verifica se você tentará trabalhar com uma variável que não contém nada dentro dela e impede a compilação caso isso ocorra. Para contornar essa situação, você pode incluir o loop For Each dentro do seu if.

     

    Code Snippet

     

    private void btnFiltrar_Click(object sender, EventArgs e)

    {

    DataRow[] drs;

    ...

    if (txtSerieNota.Text != "")

    {

    drs = ds.Tables[0].Select("DT_EMISSAO=" + "'" + txtDtEmissao.Text + "'");

     

    foreach (DataRow dr in drs)

    {

    dsFiltro.Tables[0].Rows.Add(dr.ItemArray);

    }

    }

     

    ...

    }

     

     

     

    Abraço.

    quinta-feira, 11 de setembro de 2008 12:16