Junior — Middle
¿En qué se diferencian las palabras clave const y readonly en el contexto de la programación, y en qué casos es preferible usarlas?
sobes.tech AI
Respuesta de la IA
En C#, la palabra clave const se usa para declarar constantes cuyos valores se conocen en tiempo de compilación y no pueden cambiar durante la ejecución. Estos valores deben ser primitivos o literales y deben inicializarse de inmediato.
readonly se aplica a campos cuyos valores solo se pueden establecer en la declaración o en el constructor de la clase. Después de la inicialización, el valor no puede cambiarse, pero puede calcularse en tiempo de ejecución.
Cuándo usar:
const— para valores inmutables conocidos en tiempo de compilación (por ejemplo, números, cadenas).readonly— cuando el valor solo se conoce en tiempo de ejecución, por ejemplo, depende de los parámetros del constructor.
Ejemplo:
public class Example {
public const double Pi = 3.1415; // conocido en tiempo de compilación
public readonly DateTime CreatedAt;
public Example() {
CreatedAt = DateTime.Now; // inicialización en tiempo de ejecución
}
}