Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Usanando a função Using:

Duvida no curso System.IO

Modifique o código do editor de texto para que ele utilize o using para fechar os arquivos.

  1. O exemplo diz para usar o "using" para não precisar fechar, mas quando uso em uma linha o outro scopo "using" não ver a variável anterior"
    private void Form1_Load(object sender, EventArgs e)
        {

            if (File.Exists("arquivo.txt")){
           using( Stream entrada = File.Open("arquivo.txt",FileMode.Open));
            StreamReader leitor = new StreamReader(entrada); / Aqui não exerga "entrada"

           string  linha;

           linha = leitor.ReadToEnd();
           textBox1.Text = linha;
           MessageBox.Show(linha);
           entrada.Close();
           leitor.Close();
            }
        }

Mesmo dentro do scopo do primeiro using acontece o mesmo erro.

   private void Form1_Load(object sender, EventArgs e)
        {

            if (File.Exists("arquivo.txt"))
            {
                using (Stream entrada = File.Open("arquivo.txt", FileMode.Open)) ; {

                    usingStreamReader leitor = new StreamReader(entrada);

                }

                string linha;

                linha = leitor.ReadToEnd();
                textBox1.Text = linha;
                MessageBox.Show(linha);
                entrada.Close();
                leitor.Close();
            }
        }
2 respostas
solução!

Flávio, quando você for usar dois using seguidos um do outro não precisa, após declarar o primeiro using, colocar o ; porque estaria abrindo um recurso pra ser usado mas que não seria usado, entende? o correto seria você colocar o primeiro using e quando for colocar o segundo, apenas colocar abaixo do primeiro, sem usar ; ou abrir um bloco de código com ele dentro. Caso o segundo using for o último que for usar no momento, ai sim deve abrir o bloco de código e escrever o que será feito. Seria algo parecido com isto:

//um trecho de código anterior

using(/*O recurso que será usado*/)
using(/*O segundo recurso que será usado*/)
{
   //seu código
}

Entendeu?

A sim, acho que entendi. vlw

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software