Back to questions
Junior — Middle
71
Можно ли сделать поле только для чтения в классе, чтобы его значение нельзя было изменить после инициализации?
Answer from AI
sobes.tech AI
В C# можно сделать поле только для чтения, используя модификатор readonly. Такое поле можно инициализировать либо при объявлении, либо в конструкторе класса, после чего изменить его значение нельзя.
Пример:
class MyClass
{
public readonly int MyReadOnlyField;
public MyClass(int value)
{
MyReadOnlyField = value; // инициализация в конструкторе
}
}
Также можно использовать свойство с только геттером и приватным сеттером или без сеттера, и инициализировать его через конструктор или при объявлении (начиная с C# 6.0):
class MyClass
{
public int MyProperty { get; }
public MyClass(int value)
{
MyProperty = value;
}
}
После инициализации изменить значение такого свойства нельзя.