sábado, 22 de março de 2014

Como usar o using no C# (Blick)

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. 

  1. TextWriter writer = new StreamWriter(”texto.txt);
  2. writer.WriteLine(”Aqui vem o texto.”);
  3. 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. 

  1. TextWriter writer = null;
  2. try
  3. {
  4. writer = new StreamWriter(”texto.txt);
  5. writer.WriteLine(”Aqui vem o texto.”);
  6. }
  7. finally
  8. {
  9. if (writer != null)
  10. writer1.Dispose();
  11. }


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

  1. using ( TextWriter writer = newStreamWriter(”texto.txt) )
  2. {
  3. writer2.WriteLine(”Aqui vem o texto.”);
  4. }


Bom, agora segue a dica: 

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

Nenhum comentário:

Postar um comentário