Junior — Middle
Qual é a diferença entre as palavras-chave const e readonly no contexto da programação, e em que casos é mais preferível usá-las?
sobes.tech IA
Resposta da IA
Em C#, a palavra-chave const é usada para declarar constantes cujo valores são conhecidos em tempo de compilação e não podem ser alterados durante a execução. Esses valores devem ser primitivos ou literais e devem ser inicializados imediatamente.
readonly aplica-se a campos cujo valor só pode ser definido na declaração ou no construtor da classe. Após a inicialização, o valor não pode ser alterado, mas pode ser calculado em tempo de execução.
Quando usar:
const— para valores imutáveis conhecidos em tempo de compilação (por exemplo, números, strings).readonly— quando o valor só é conhecido em tempo de execução, por exemplo, depende dos parâmetros do construtor.
Exemplo:
public class Example {
public const double Pi = 3.1415; // conhecido em tempo de compilação
public readonly DateTime CreatedAt;
public Example() {
CreatedAt = DateTime.Now; // inicialização em tempo de execução
}
}