Declarar variáveis locais digitadas implicitamente
O compilador C# trabalha nos bastidores para ajudá-lo enquanto você escreve seu código. Pode deduzir o tipo de dados da variável através do valor inicializado. Nesta unidade, irá aprender sobre esta funcionalidade, denominada variáveis locais escritas implicitamente.
O que são variáveis locais escritas implicitamente?
Uma variável local digitada implicitamente é criada usando a var
palavra-chave seguida por uma inicialização de variável. Por exemplo:
var message = "Hello world!";
Neste exemplo, uma variável string foi criada usando a var
palavra-chave em vez da string
palavra-chave.
A var
palavra-chave informa ao compilador C# que o tipo de dados está implícito no valor atribuído. Depois que o tipo é implícito, a variável age como se o tipo de dados real tivesse sido usado para declará-lo. A var
palavra-chave é usada para salvar pressionamentos de teclas quando os tipos são longos ou quando o tipo é óbvio a partir do contexto.
No exemplo:
var message = "Hello world!";
Como a variável message
é imediatamente definida como o valor"Hello World!"
, o string
compilador C# entende a intenção e trata cada instância de message
como uma instância do tipostring
.
Na verdade, a variável é digitada message
para ser um string
e nunca pode ser alterada. Por exemplo, considere o seguinte código:
var message = "Hello World!";
message = 10.703m;
Se executar este código, verá a seguinte mensagem de erro.
(2,11): error CS0029: Cannot implicitly convert type 'decimal' to 'string'
Nota
Outras linguagens utilizam a palavra-chave var
de forma diferente. Em C#, as variáveis recebem um tipo pelo compilador, independentemente de você usar o nome real do tipo de dados ou permitir que o compilador implique o tipo de dados. Por outras palavras, o tipo é bloqueado no momento da declaração e, portanto, nunca poderá conter valores de um tipo de dados diferente.
As variáveis que usam a var
palavra-chave devem ser inicializadas
É importante compreender que a palavra-chave var
depende do valor utilizado para inicializar a variável. Se tentar utilizar a palavra-chave var
sem inicializar a variável, receberá um erro quando tentar compilar o seu código.
var message;
Se você tentar executar esse código, à medida que ele é compilado, você verá a seguinte saída:
(1,5): error CS0818: Implicitly-typed variables must be initialized
Porquê utilizar a palavra-chave var
?
A var
palavra-chave foi amplamente adotada na comunidade C#. É provável que, se você olhar para um exemplo de código em um livro ou online, verá a var
palavra-chave usada em vez do nome real do tipo de dados, por isso é importante entender seu uso.
A var
palavra-chave tem um uso importante em C#. Muitas vezes, o tipo de uma variável é óbvio a partir de sua inicialização. Nesses casos, é mais simples usar a var
palavra-chave. A var
palavra-chave também pode ser útil ao planejar o código para um aplicativo. Quando você começa a desenvolver código para uma tarefa, talvez não saiba imediatamente qual tipo de dados usar. O uso var
pode ajudá-lo a desenvolver sua solução de forma mais dinâmica.
Ao começar, é recomendável que você continue a usar o nome do tipo de dados real ao declarar variáveis até se sentir mais confortável em trabalhar com código. Utilizar o tipo de dados ao declarar variáveis ajudará a tornar a escrita do código intencional.
Recapitulação
Aqui está o que você aprendeu sobre a var
palavra-chave até agora:
- A palavra-chave
var
informa o compilador para deduzir o tipo de dados da variável com base no valor para o qual é inicializada. - Você provavelmente verá a palavra-chave ao ler o código de outras pessoas, no entanto, você deve usar o
var
tipo de dados quando possível.