Kinhas 0 Denunciar post Postado Maio 9, 2011 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
Rafael Mitsunaka 11 Denunciar post Postado Maio 9, 2011 Se deixar declarado dentro de algum loop vai dar erro, declara fora no inicio do método. Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Maio 9, 2011 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
Rafael Mitsunaka 11 Denunciar post Postado Maio 9, 2011 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
Kinhas 0 Denunciar post Postado Maio 9, 2011 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
Rafael Mitsunaka 11 Denunciar post Postado Maio 9, 2011 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
Kinhas 0 Denunciar post Postado Maio 10, 2011 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: Bem no final, Quando eu comento essas duas linhas apenas diz que as variáveis não estão sendo usadas: Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Mitsunaka 11 Denunciar post Postado Maio 10, 2011 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
quintelab 91 Denunciar post Postado Maio 10, 2011 Como o Rafael disse, declare valores padrões as suas variáveis. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Maio 11, 2011 Muito Obrigado, pelo visto deu tudo certo aqui agora. Valeus, pode fechar o tópico se achar necessário. Compartilhar este post Link para o post Compartilhar em outros sites