Variáveis e constantes

Variáveis e constantes são elementos fundamentais em qualquer linguagem de programação, incluindo C#. Elas servem para armazenar e manipular dados durante a execução de um programa, mas possuem diferenças importantes no seu comportamento e uso.

O que são Variáveis?

  • Uma variável é um espaço na memória do computador reservado para armazenar um valor que pode ser alterado durante a execução do programa.
  • Para declarar uma variável em C#, temos de especificar o tipo de dado e um nome válido para a variável.

Exemplo de declaração e inicialização:

int idade;            // Declaração
idade = 25; // Atribuição

string nome = "Ana"; // Declaração e inicialização
  • Podemos declarar várias variáveis do mesmo tipo numa única linha:
int a, b, c;
  • Também é possível deixar o compilador inferir o tipo usando var:
var altura = 1.75;    // O tipo será double
  • O nome da variável deve começar com uma letra ou _, pode conter números, mas não pode ser uma palavra reservada do C#.

Escopo de variáveis

escopo de uma variável em C# determina onde ela pode ser acedida e manipulada dentro do programa. Compreender o escopo é essencial para evitar erros e organizar o código de maneira eficiente.

Tipos de escopo

Escopo local

Variáveis declaradas dentro de blocos de código (delimitados por {}), como métodos, repetições (forwhile) ou condicionais (if), só podem ser acedidas dentro desse bloco:

void Exemplo() {
    int x = 10; // x só existe dentro deste método
    if (x > 5) {
        int y = 20; // y só existe dentro do if
    }
    // Console.WriteLine(y); // Erro: y não existe aqui
}

Essas variáveis são chamadas de variáveis locais.

Escopo de classe

Variáveis declaradas diretamente no corpo da classe, mas fora de métodos, são chamadas de campos. Elas podem ser acedidas por todos os métodos da classe:

class Pessoa {
    string nome; // campo da classe
    void DefinirNome(string novoNome) {
        nome = novoNome; // acesso permitido
    }
    void MostrarNome() {
        Console.WriteLine(nome); // acesso permitido
    }
}

Escopo global

Em C#, não existe escopo global como em algumas linguagens. O escopo mais amplo é o da classe ou do namespace.

O que são Constantes?

  • Uma constante é semelhante a uma variável, mas seu valor não pode ser alterado após a declaração.
  • São usadas para armazenar valores fixos, como pi, limites matemáticos, ou configurações que não mudam durante a execução do programa.
  • Para declarar uma constante, utilize a palavra-chave const antes do tipo.

Exemplo de declaração de constante:

const double PI = 3.14159;
const int MaioridadePenal = 18;
  • Constantes devem ser inicializadas obrigatoriamente no momento da declaração e não podem ser modificadas depois.

Principais diferenças entre variáveis e constantes

CaracterísticaVariávelConstante
ValorPode ser alteradoNão pode ser alterado
Palavra-chaveNenhuma (ou var para inferência)const
InicializaçãoOpcional na declaraçãoObrigatória na declaração
UsoDados que mudamValores fixos
Convenção de nomecamelCasePascalCase

Boas Práticas

  • Use nomes descritivos para facilitar a leitura do código.
  • Prefira constantes para valores que não devem ser alterados.
  • Inicialize variáveis antes de usá-las.
  • Evite variáveis globais e limite o escopo das variáveis ao necessário.
  • Não devemos reatribuir valores a uma constante, pois isso causará erro de compilação.