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

Dúvida no Ex. 4 da Aula 8 - System.IO

Boa Tarde!

Visto que o StreamWriter é do tipo Stream, e eu o utilizo no StreamWriter, ao invés de decalar 2 using conforme a baixo:

using (Stream saida = File.Open("entrada.txt", FileMode.Create)) using (StreamWriter escritor = new StreamWriter(saida)) { escritor.WriteLine(textoDigitado.Text); }

Eu não poderia declara-lo apenas 1 vez conforme a baixo:

using (Stream saida = File.Open("entrada.txt", FileMode.Create)) { StreamWriter escritor = new StreamWriter(saida); escritor.WriteLine(textoDigitado.Text); }

2 respostas
solução!

Boa tarde Théo,

Creio que o "using" foi usado duas vezes para que os dois recursos que foram abertos pudessem ser fechados automaticamente no fim de suas utilizações. Se não, um ficaria aberto.

Como o Ramon explicou, é necessário um using para liberar cada recurso.

Lembrando que para ocorrer essa liberação de recurso é necessário que a classe tenha implementado a interface IDisposable (que contém o método Dispose() que realiza a liberação em si do recurso). Neste caso, verificando na documentação este método herda na classe abstrata TextReader