O tipo var em C #

princ_var

Var é um tipo especial de C # que foi incorporado no Visual C # 3.0 tem a particularidade de que, quando declarado, pode conter qualquer tipo, como se fosse um tipo de objeto. Mas não é o mesmo! Podemos definir a seguinte variável:

object o = new Persona();

Porque Object é o supertipo C # que é herdado por todos os outros tipos de linguagem ou aqueles que definimos. Simplesmente qualquer filho pode ser instanciado em uma variável do tipo pai dele. Se o que fazemos é instanciar um objeto do tipo Person em uma variável do tipo Object , estaremos perdendo todos os métodos e propriedades da classe Person, pois a inferência de tipo não é feita.

declaração_var_obje

Na imagem, observamos que, ao tentar acessar a interface da variável, a única coisa que obtemos são os métodos Object (ou objeto que em C # é o mesmo), em nenhum caso podemos acessar o método Sing da classe Person, pois temos perdeu o cara.

Portanto, o tipo var difere de Object, pois não é um supertipo de todos os outros tipos de linguagem, mas é um tipo capaz de abrigar qualquer outro tipo sem perder o tipo , ou seja, quando declaramos uma variável do tipo var , estamos criando uma variável fortemente tipada que refletirá o tipo definido pelo usuário. Na imagem a seguir, podemos ver como nossa variável não perde o tipo, pois podemos acessar os membros da Persona:

declaracion_var_var

Se declararmos uma variável do tipo var e, com ela, instanciarmos um tipo Person, o compilador poderá reconhecer que esse objeto do tipo var é um objeto do tipo Person , é mais que nos notificará, como podemos ver na imagem a seguir:

Relacionado:  A importância da memória cache (II)

declaração_var_compilador_artarta

Isso é realmente útil para programadores que lidam com dados e estruturas que geralmente não sabem o que retornarão. Isso também nos poupará para escrever , algo fundamental. Por exemplo, se queremos criar uma lista de pessoas, será mais curto escrever:

var personas = new List<Persona>();

O que declarar o tipo:

List<Persona> personas = new List<Persona>();

Essa não é a única razão porque, muitas vezes quando programamos, atingimos um ponto de abstração em que não se sabe realmente com que tipo você está trabalhando ou com que tipo espera que uma determinada operação retorne. Declarar, portanto, que variáveis ​​do tipo var economizarão tempo quando estivermos escrevendo o código, mas também nos ajudará a não ter que parecer tão duro ou pensar sobre qual tipo manipular e até impedir-nos de executar projeções que geralmente não são necessárias.

Temos que deixar claro que o uso da variável var não pode ignorar as regras semânticas que o compilador definiu. Portanto, quando declaramos uma variável do tipo var e atribuímos a ela um valor, ele automaticamente aceita esse valor. Embora não seja exatamente assim, quando definimos uma variável e atribuímos um tipo, não podemos mais tarde atribuir outro tipo:

declaração_var_inferência

Como podemos ver na imagem, não é possível declarar uma variável var e atribuir um valor do tipo Person e atribuir a essa variável um valor do tipo inteiro. O que podemos fazer é jogar com tipos que possuem conversão de tipo, como decimal para emtero:

var_infe

Nos artigos a seguir, nos quais descobriremos a programação funcional, veremos como esse tipo é essencial para desenvolver software de uma maneira que não seja mais eficiente, se não mais rápida e elegante.

 

Você pode estar interessado:

Deixe um comentário