Array
(
)

using

Rodrigo Pereira
|
MVP
    15 out 2014

Boa noite a cláusula using pra quem veio do delphi como é eu, é equivalente ao with?
Desde já agradeço!

Fernanda Acacia
   - 15 out 2014

Quando vi pela primeira vez sendo utilizado em no codigo em si, fiquei meio confusa, para mim seria algo parecido com os imports do java, mas vi não era só isso, nele vc pode criar um conjunto de codigos isolados dentro de outro.

mais informações:

http://www.devmedia.com.br/entendendo-o-bloco-using-no-c/16967

Joel Rodrigues
   - 16 out 2014

Ambos estão corretos. O using tem duas aplicações distintas.
Quando aparece no topo da classe, esse comando serve para importar namespaces. Exemplo:
#Código

using System;

Isso é semelhante ao import do Java ou ao Uses do Delphi.

Já quando aparece no meio do código, esse comando funciona como o With do Delphi, porém com uma diferença fundamental. Quando dentro de um bloco With, você pode acessar as propriedades do objeto manipulado sem precisar informar o nome do objeto novamente. Exemplo:
#Código
with TForm.Create(Application) do
begin
  Caption := 'Teste';
  Show();
end.

Já em C#, é preciso referenciar o objeto sempre pelo nome, mesmo dentro do using:
#Código
using(Form f = new Form()){
  f.Text = "Teste";
  f.Show();
}

O bloco using faz com que, após sua finalização, o objeto criado seja liberado da memória. É interessante utilizá-lo quando temos um objeto que será usado apenas naquele momento e poderá ser descartado em seguida.

Espero ter sido claro, mas caso permaneçam dúvidas, fique à vontade para questionar.

Fernanda Acacia
   - 16 out 2014

Eu vi um dia desses uma outra forma de usa-lo, pra era só "um tipo" de import.