1
resposta

Using

Alguém pode me explicar o using do c#, de que forma ele substitui o try. na teoria

  static void Main(string[] args)
    {

        var enderecoDoArquivo = "Contas.txt";

        using (var fluxoDoArquivo = new FileStream(enderecoDoArquivo, FileMode.Open))
        using (var leitor = new StreamReader(fluxoDoArquivo))
            {
            while (!leitor.EndOfStream)
            {
                var linha = leitor.ReadLine();
                Console.WriteLine(linha);
            }

        }

        Console.ReadLine();
    }
1 resposta

Na verdade ele não substitui o try porque poderia dar outros erros no código que você gostaria de tratar se usa-se o try antes do primeiro using, o using no seu exemplo ele apenas criou um escopo que no final de sua execução, libera recursos automaticamente através do método Dispose(). Exemplo: quando o fluxoDoArquivo terminar de ser usado ele chama o método Dispose(). O mesmo acontece com o leitor. Quando você usa o try e dentro tem um fluxoDoArquivo ou leitor igual do seu exemplo você pode chamar o Dispose() no catch ou no finally para liberar recursos, são duas formas diferentes de você conseguir liberar os recursos que suas variáveis estavam consumindo, usando using ou o try com Dispose(). pra esse exemplo com using fica muito menos código escrito e mais fácil de ler e entender.