В C#
const, readonly используются для разных целей и имеют разные характеристики. Давайте рассмотрим различия между ними.🚩`const`
Поле, объявленное как
const, является константой и должно быть инициализировано во время объявления. Значение const поля не может быть изменено после компиляции.Область применения
Константы компилируются в код и становятся частью метаданных сборки. Они не могут быть изменены в процессе выполнения программы.
Тип данных
const поддерживает только примитивные типы данных, строки и enum.public class MyClass
{
public const int MyConst = 10;
}
🚩`readonly`
Поле, объявленное как
readonly, может быть инициализировано либо во время объявления, либо в конструкторе. Значение readonly поля может быть изменено только в конструкторе и не может быть изменено после этого.Область применения
readonly поля используются для значений, которые должны быть неизменными после инициализации объекта, но могут различаться между экземплярами класса.Тип данных
readonly поддерживает любые типы данных.public class MyClass
{
public readonly int MyReadonly;
public MyClass(int value)
{
MyReadonly = value;
}
}
Ставь 👍 и забирай 📚 Базу знаний