C# - usando o using

Try/finaly ou using ?

Sabemos que no final das contas, ambos fazem a mesma coisa.
No entanto...

Ao usar o try/finnaly o objeto instanciado por você, deverá ser liberado dentro de finnaly (você deverá fazer isso manualmente), mas quando usamos using, está liberação é feita automaticamente.

O using atende a liberação de recursos. O objeto que será instânciado no comando “using”, é liberado automaticamente, ou seja, é chamado o “Dispose” deste objeto de forma totalmente automática.

O using é um tipo de atalho da liguagem. O compilador traduz o using para um comando muito semelhante a instrução nativa try/finaly.

Na prática como funciona? Vejamos um exemplo simples:

1- Aqui um código puro sem bloco de segurança.

TextWriter writer = new StreamWriter(”texto.txt”);
writer.WriteLine(”Aqui vem o texto.”);
writer.Dispose();

2- Agora o mesmo código, só que em uma construção dentro de um bloco seguro e com a liberação do recurso do objeto.

TextWriter writer = null;
try
{
writer = new StreamWriter(”texto.txt”);
writer.WriteLine(”Aqui vem o texto.”);
}
finally
{
if (writer != null)
writer1.Dispose();
}

3- Aqui o equivalente ao código anterior com o comando “using”.

using ( TextWriter writer = new StreamWriter(”texto.txt”) )
{
writer2.WriteLine(”Aqui vem o texto.”);
}

Bom, agora segue a dica:

Nunca se esqueça de SEMPRE usar o “using” quando estiver trabalhando com recursos não gerenciados.

Autor: Francke Peixoto

Procurar neste site . . .