Sobes.tech
Junior — Middle

Je možné v triede urobiť pole iba na čítanie, aby jeho hodnota nemohla byť po inicializácii zmenená?

sobes.tech AI

Odpoveď od 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;
    }
}

После инициализации изменить значение такого свойства нельзя.