Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kinhas

[Resolvido] Porque ele não reconhece a variável?

Recommended Posts

Bom dia a todos do Fórum,

 

estava desenvolvendo super tranquilo com alguns buracos que aparecem no caminho e desviando deles,

 

porém agora encontrei um buraco e não sei o que fazer,

 

vou postar o código e dai vocês me expliquem o porque que ele não reconhece a variável.

 

as variáveis importantes são: prodProdNomeFull, e prodIDNomeFull;

 

Eu declarei essas variáveis fora do while.

 

e la no final do código elas não são reconhecidas.

 

 

ERRO. Use of unassigned variable 'ProdIDNomeFull'

ERRO. Use of unassigned variable 'ProdProdNomeFull'

 

while (lbox_Excluir.SelectedItems.Count > 0)
           {

               getIDfull = lbox_Excluir.SelectedItem.ToString();

               for (int i = 0; i < 6; i++)
               {
                   getID[i] = getIDfull[i];                    
               }

               foreach (FileInfo prodID in AllFilesID)
               {
                   prodIDnome = prodID.Name;
                   prodIDNomeFull = prodID.FullName;
                   prodIDreplace = prodIDnome.Replace(".txt", "");
                   StreamReader lerID = new StreamReader(prodIDPath + @"\" + prodIDnome);
                   string armzID = lerID.ReadLine().ToString();
                   Console.WriteLine("ID");

                   for (int j = 0; j < 6; j++)
                   {
                       getProdID[j] = armzID[j];
                       Console.WriteLine(getProdID[j]);
                   }
                   lerID.Close();

               }

               foreach (FileInfo prodProdP in AllFilesProd)
               {
                   prodProdnome = prodProdP.Name;
                   ProdProdNomeFull = prodProdP.FullName;
                   prodProdReplace = prodProdnome.Replace(".txt", "");
                   StreamReader lerProd = new StreamReader(prodProdPath + @"\" + prodProdnome);
                   string armzProd = lerProd.ReadLine().ToString();
                   Console.WriteLine("PRODUTO");

                   for (int j = 0; j < 6; j++)
                   {
                       getProdProd[j] = armzProd[j];
                       Console.WriteLine(getProdProd[j]);
                   }
                   lerProd.Close();

               }

               for (int i = 0; i < 6; i++)
               {
                   if (getID[i] == getProdID[i] && getID[i] == getProdProd[i])
                   {
                       cont++;
                   }
               }
               if (cont == 5)
               {
                   Console.WriteLine("Excluindo ---> " + lbox_Excluir.SelectedItem.ToString());
                   lbox_Excluir.Items.Remove(lbox_Excluir.SelectedItem);

                   System.IO.File.Delete(prodIDNomeFull);
                   System.IO.File.Delete(ProdProdNomeFull);
               }
           }

 

Alguém sabe o porque acontece isso?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se deixar declarado dentro de algum loop vai dar erro, declara fora no inicio do método.

 

Rafael,

 

não da para declarar fora pois a declaração já esta aqui

 

foreach (FileInfo prodProdP in AllFilesProd)

 

se declara fora ele não faz o foreach.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao da pra utilizar ela fora desse foreach!

 

O que pode fazer eh criar uma variavel fora e receber o que tem dentro dela e utilizar fora do foreach.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao da pra utilizar ela fora desse foreach!

 

O que pode fazer eh criar uma variavel fora e receber o que tem dentro dela e utilizar fora do foreach.

 

Mas é isto que eu etnho e que ta dando erro,

 

Eu tenho uma variável fora,

 

ai na instrução do foreach é criada a otura como eu falei no outro post,

 

e dentro do loop do foreach eu tenho essa que eu criei fora recebendo esse valor,

 

mais ou menos assim:

 

string valor;

 

foreach(FileInfo test in AllFiles)

{

valor = test.FullName;

}

 

Essa variável test eu não consigo usar fora do foreach.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo jeito que você postou agora, você quer pegar a test que está dentro, você se enganou?

 

 

O erro da na hora que você está dentro do foreach ou no fim quando tenta usar a variável que está declarada fora dos loops?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo jeito que você postou agora, você quer pegar a test que está dentro, você se enganou?

 

 

O erro da na hora que você está dentro do foreach ou no fim quando tenta usar a variável que está declarada fora dos loops?

 

O erro da bem no final, segue imagem abaixo:

 

errounassigned.jpg

 

Bem no final,

 

Quando eu comento essas duas linhas apenas diz que as variáveis não estão sendo usadas:

 

noerrorunassigned.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui não consigo ver imagens, porém se está dando erro de que as variáveis não estão sendo utilizadas, você pode debugar e verificar se ele entra no loop alguma vez e tentar declarar a variavel com um valor fixo definido.

string Teste = String.Empty;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.