Bom dia a todos,
Nesta aula, fiquei com uma dúvida, qual é a vantagem de se usar var ao invés de já declarar o tipo da variável?
Att Carlos
Bom dia a todos,
Nesta aula, fiquei com uma dúvida, qual é a vantagem de se usar var ao invés de já declarar o tipo da variável?
Att Carlos
Oi Carlos
Realmente para casos simples não temos uma vantagem muito grande, o var é realmente útil quando temos um tipo de variável mais complicado como, por exemplo, KeyValuePair<string, Conta>
, ao invés de escrevermos esse nome complexo, podemos simplesmente utilizar o var para simplificar a escrita do código. Além disso, no curso C# e tópicos avançados, você verá a biblioteca LINQ da linguagem que é muito vais fácil de utilizar com o var.
Mas claro que não podemos abusar dessa simplificação. A recomendação é só utilizar o var quando o tipo da variável estiver claro pelo contexto ou quando o tipo da variável não for importante para o entendimento do código, por exemplo:
var i = 5000;
Nesse caso fica claro que a variável i é do tipo int pelo contexto.
Carlos, embora a facilidade para nomear uma variável como tipo var seja relevante, ela em si não significa quase nada, para entender melhor o conceito dou uma dica para pesquisar por variáveis fortemente tipadas e fracamente tipadas. As vezes é necessário em uma aplicação que a tipagem da variável seja realizada em tempo de execução, desta forma a declaração do tipo var é extremamente necessária.
Oi Euler
A palavra var
do C# não indica que uma variável possui tipagem fraca, ela continua tendo um tipo bem definido que é conhecido em tempo de compilação. Se você fizer, por exemplo:
var i = 10;
i = 100.0;
Esse código gera um erro de compilação, pois o tipo da variável i é inferido pelo compilador do C# como sendo int
na primeira linha, mas na segunda estamos tentando guardar um valor do tipo double
na variável inteira. O código seria equivalente a:
int i = 10;
i = 100.0;
Para deixar a tipagem da variável feita em tempo de execução, o C# possui um tipo chamado de dynamic
. Utilizando esse tipo, as expressões são checadas apenas quando o código vai ser executado, ou seja, só temos exceções em tempo de execução e não erros de compilação. Já com o var o código é validado em tempo de execução, ou seja, temos tipagem forte e estática.
Oi Carlos
A sua dúvida foi resolvida?
Ou seja, "var" assume o tipo de acordo com o primeiro valor atribuído.
Exatamente.
Estava com essa duvida também.
Valeu pelo esclarecimento.