Liberar recursos com IDisposable e using em C#
Nesta lição, você vai usar a declaração using para garantir que os recursos sejam sempre liberados na hora certa, mesmo quando ocorre um erro.
Introdução
No .NET, a memória é recuperada automaticamente pelo coletor de lixo (garbage collector), mas recursos como arquivos, conexões de rede ou de banco de dados devem ser liberados assim que deixam de ser usados. Esses objetos implementam a interface IDisposable, com o método Dispose para liberar o recurso.
A declaração using var writer garante que o método Dispose de writer seja chamado automaticamente quando o programa sai do escopo em que ele está, mesmo se ocorrer uma exceção no meio. Assim você não precisa escrever um bloco try/finally para limpar os recursos.
Exemplo de C# executável
using System;
using System.IO;
class Program
{
static void Main()
{
using var writer = new StringWriter();
writer.Write("resource-safe output");
Console.WriteLine(writer.ToString());
}
}
resource-safe outputPratique com o depurador
Pratique com um desafio
Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.
Todos os desafios