Minha duvida dever ser a mais burra possível(estou aprendendo, mas já fazendo algumas coisas com experiencias em outras linguagens), mas tenho procurado e num tenho encontrado algo bem claro;
sempre que procuro por using, sempre encontro a utilização dele em minha classe lá no topo.
o que eu gostaria de saber é.: o uso dele nesta form
using (ConnectionSqlServer conn = new ConnectionSqlServer())
{
//mais dados
}
significa que estou importando para esta ocasião especial e que após executar todo o código interno ela provável mente irá perder até sua instancia?
Agradeço desde já
Ola
O using vc deve usar com objetos que implementem a interface IDisposable e ao final do bloco o metodo Dispose sera chamado.
é uma forma de evitar aquele finally que fecha o recurso se ele for diferente de nulo, por exemplo.
java tem sintaxe parecida com o Closeable se não me engano.
O que vc falou sobre instancia esta parcialmente certo.
variaveis são visiveis dentro de um bloco léxico ( { e } )
o que vc definiu dentro de um bloco não é visivel foram. saiu do bloco léxico pode ser coletado pelo gc a qq momento ( dependendo das regras, etc ).
em algumas linguagens isso é diferente. Perl tem reference counting então no final a memoria sera desalocada PONTO, C++ tem Smart Pointers que podem dealocar a memoria ( fora criar na head/stack ). os conceitos são importantes e as vezes atingem varias familias de linguagens.