Para um perfeito entendimento e uso de variáveis, é necessário perceber uma sutil diferença entre declaração e definição de variáveis. Vejamos o significado de cada uma nas linhas seguintes.
A declaração de uma variável informa o compilador sobre seu nome e seu tipo. Veja uma linha de código que declara uma variável chamada idade:
int idade;
A definição ou inicialização de variáveis ocorre quando as células de memória necessárias ao armazenamento destas variáveis são alocadas. Veja, por exemplo, um trecho de código que declara uma variável e em seguida a inicializa:
int idade;
idade = 20;
Dependendo do contexto em que uma variável é declarada, o compilador a inicializa automaticamente com um valor padrão para o tipo de dados. Porém, variáveis locais nunca são inicializadas automaticamente. Uma variável local é uma variável declarada dentro de métodos e alguns outros blocos de código. Para demonstrar como o compilador C# se comporta quando uma variável local é declarada, mas ainda não definida (inicializada), vamos escrever o seguinte aplicativo:
Este código está disponível no arquivo Variaveis2.cs. Experimente compila-lo e verá a seguinte mensagem de erro:
Variaveis2.cs(9,37): error CS0165: Use of unassigned local variable 'idade'
Esta mensagem de erro ocorreu porque a variavel idade foi declarada dentro do método Main do aplicativo e, portanto, é uma variável local. Variáveis locais devem sempre ser inicializadas antes de serem usadas.
Observação
C# permite que a declaração e definição de uma variável sejam feitas em apenas uma linha. Assim, é perfeitamente legal escrever o trecho de código seguinte:
int idade;
idade = 20;
em uma forma mais reduzida:
int idade = 20;
Variaveis2.cs
A declaração de uma variável informa o compilador sobre seu nome e seu tipo. Veja uma linha de código que declara uma variável chamada idade:
int idade;
A definição ou inicialização de variáveis ocorre quando as células de memória necessárias ao armazenamento destas variáveis são alocadas. Veja, por exemplo, um trecho de código que declara uma variável e em seguida a inicializa:
int idade;
idade = 20;
Dependendo do contexto em que uma variável é declarada, o compilador a inicializa automaticamente com um valor padrão para o tipo de dados. Porém, variáveis locais nunca são inicializadas automaticamente. Uma variável local é uma variável declarada dentro de métodos e alguns outros blocos de código. Para demonstrar como o compilador C# se comporta quando uma variável local é declarada, mas ainda não definida (inicializada), vamos escrever o seguinte aplicativo:
Código:
using System;
class Variaveis
{
static void Main()
{
int idade;
Console.WriteLine("Idade: {0}", idade);
}
}
Este código está disponível no arquivo Variaveis2.cs. Experimente compila-lo e verá a seguinte mensagem de erro:
Variaveis2.cs(9,37): error CS0165: Use of unassigned local variable 'idade'
Esta mensagem de erro ocorreu porque a variavel idade foi declarada dentro do método Main do aplicativo e, portanto, é uma variável local. Variáveis locais devem sempre ser inicializadas antes de serem usadas.
Observação
C# permite que a declaração e definição de uma variável sejam feitas em apenas uma linha. Assim, é perfeitamente legal escrever o trecho de código seguinte:
int idade;
idade = 20;
em uma forma mais reduzida:
int idade = 20;
Variaveis2.cs