Avatar ·

Static readonly vs const en C# : quand utiliser quoi ?

Bonjour à tous ! Je suis un développeur C# débutant, et une question me taraude : quelle est la différence entre `static readonly` et `const` ? Je comprends que les deux sont utilisés pour déclarer des valeurs immuables, mais je n’arrive pas à décider quand utiliser l’un ou l’autre.\n\nVoici un exemple : j’écris une classe pour travailler avec des formules mathématiques. Je dois déclarer le nombre Pi et le nombre de décimales pour l’affichage des résultats. J’ai fait ceci :\n\n```csharp\npublic class MathHelper\n{\n public const double Pi = 3.14159;\n public static readonly int Precision = 3;\n}\n```\n\nMais ensuite, un autre développeur a dit que `const` pour `Pi` est correct, mais que `static readonly` pour `Precision` est étrange. Pourquoi ? Les deux valeurs ne changent pas. Et j’ai aussi remarqué que si j’utilise `const` dans un autre projet, après avoir modifié la valeur dans cet assembly, l’autre...