O C# fornece uma palavra chave: var, que você pode usar ao invés de especificar o tipo diretamente (int, bool, string, etc). Ao declarar uma variável utilizando var, o compilador irá interpretar automaticamente o tipo de dado correspondente baseando-se no valor inicial utilizado para inicializar.
Primeiro irei criar um exemplo com variáveis declaradas explicitamente
class Program { static void Main(string[] args) { int meuInt = 0; bool meuBool = true; string minhaString = "Conteúdo aqui"; } }
Agora o mesmo exemplo, com a diferença de tipo e printo na tela o tipo da variável
class Program { static void Main(string[] args) { var meuInt = 0; var meuBool = true; var minhaString = "Conteúdo aqui"; Console.WriteLine(meuInt.GetType().Name); Console.WriteLine(meuBool.GetType().Name); Console.WriteLine(minhaString.GetType().Name); } }
Resultado
Restrições do uso de declaração implícita de variável
Existe algumas restrições na declaração
- Aplica-se apenas a declaração local
- Deve receber um valor inicial
- Não pode ser Nullable<T>
- Mudança de tipo
Aplica-se apenas a declaração local
A declaração implícita aplica-se apenas a variáveis locais de um escopo, não é possível definir a palavra chave var como valor de retorno de um método ou utilizar como parâmetro de um método.
Deve receber um valor inicial
Ao declarar uma variável implicitamente, o valor inicial deve ser determinado no mesmo momento, só assim o compilador irá saber qual real tipo, não é possível definir null como valor inicial.
Não pode ser Nullable<T>
Não é possível declarar uma variável implícita anulável, já que não é possível definir ela como null.
Mudança de tipo
A declaração implícita gera uma variável fortemente tipada, portanto, o uso da palavra-chave var não é a mesma técnica utilizada nas linguagens de script, como VBScript ou Javascript, onde uma variável pode conter valores de tipos diferentes ao longo de sua existência.
Espero que tenham gostado, até mais
Blzura, fico bem explicado e didático …….Brigaduuuuuu