Avatar ·

Quelle est la différence entre const et readonly en C# ?

Bonjour à tous ! Je suis débutant en C# et je confonds toujours les mots-clés `const` et `readonly`. Ils semblent tous deux rendre une valeur immuable, mais je sens que ce n'est pas tout à fait ça. J'ai ce code : ```csharp public class MyClass { public const int MaxAttempts = 5; public readonly string ConnectionString = "localhost"; public void Test() { // MaxAttempts = 10; // Erreur - const ne peut pas être modifié // ConnectionString = "new"; // Erreur - readonly ne peut pas être modifié } } ``` Les deux champs ne peuvent pas être modifiés après l'initialisation. Mais quelle est la différence alors ? J'ai entendu dire que `const` fonctionne à la compilation, tandis que `readonly` fonctionne à l'exécution. Qu'est-ce que cela signifie en pratique ? Quand dois-je utiliser `const` et quand `readonly` ? Et pourquoi puis-je initialiser `readonly` dans le constructeur, mais pas `const` ? Expliquez-moi, s'il vous plaît, avec des exemples simples. Merci d'avance ! <<>>

Différence clé : moment de l'évaluation et portée

Le