Junior — Middle
Lehet-e egy osztályban csak olvasható mezőt készíteni, hogy értéke ne változhasson az inicializálás után?
sobes.tech MI
Válasz az MI-től
В 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;
}
}
После инициализации изменить значение такого свойства нельзя.