Junior — Middle
Quelle est la différence entre les mots-clés const et readonly dans le contexte de la programmation, et dans quels cas leur utilisation est-elle préférable?
sobes.tech IA
Réponse de l'IA
En C#, le mot-clé const est utilisé pour déclarer des constantes dont les valeurs sont connues au moment de la compilation et ne peuvent pas changer pendant l'exécution. Ces valeurs doivent être primitives ou littérales et doivent être initialisées immédiatement.
readonly s'applique aux champs dont la valeur ne peut être définie qu'au moment de la déclaration ou dans le constructeur de la classe. Après l'initialisation, la valeur ne peut pas être modifiée, mais elle peut être calculée lors de l'exécution.
Quand utiliser :
const— pour des valeurs immuables connues au moment de la compilation (par exemple, des nombres, des chaînes).readonly— lorsque la valeur n'est connue qu'au moment de l'exécution, par exemple, dépend des paramètres du constructeur.
Exemple :
public class Example {
public const double Pi = 3.1415; // connu au moment de la compilation
public readonly DateTime CreatedAt;
public Example() {
CreatedAt = DateTime.Now; // initialisation lors de l'exécution
}
}