Campos readonly/const

Os campos podem ser declarados como “readonly” e “const”.

Um campo const só pode ser inicializado na declaração. Caso um campo const não seja utilizado, nenhum aviso é emitido. Um campo readonly pode ser inicializado tanto na sua declaração como no construtor. Caso um campo readonly não seja utilizado, um aviso é emitido.

Veja alguns exemplos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Classe1
{
	// Campo   readonly pode ser inicializado na declaração e no construtor
	readonly   int RO = 10;
	// Constante só pode ser inicializada na declaração
	const   int CO = 20;
	// Campo   comum (variável de instância)
	int z;
	// Campo   static: uma única cópia para todos objetos da classe 
	static int ST; <br />
	public Classe1()
	{
		//   Atribuição ao campo readonly
		RO   = 40;
		// Variável local
		int v = CO + RO;
		Console.WriteLine(v);
	}
}

Campos

Uma variável declarada em uma classe, mas fora de qualquer método é chamada de “campo”. Existem dois tipos de campos:

  • static: apenas uma cópia existe, independente de quantas cópias da classe tenham sido criadas. Existe sempre uma cópia, mesmo que nenhum objeto da classe tenha sido criado;
  • Não static: São “variáveis de instância”. Existe uma cópia para cada objeto da classe criada;