Sobes.tech
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
    }
}