Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1081 of 1492 menu
◀ ▶

Модификатор readonly

readonly поле класса задают в объявлении или в конструкторе того же класса. После этого присвоение запрещено. В структуре readonly метод не может менять поля через this, кроме случаев внутри конструктора struct. Для констант на этапе компиляции используют const.

Синтаксис

public readonly тип поле; public readonly тип Метод() { }

Пример

Давайте инициализируем readonly поле в конструкторе:

using System; class Token { public readonly string Code; public Token(string code) { Code = code; } } class Program { static void Main() { var item = new Token("abcde"); Console.WriteLine(item.Code); } }

Результат выполнения кода:

"abcde"

Пример

Давайте задать readonly поле при объявлении:

using System; class FixedRow { public readonly int Size = 5; } class Program { static void Main() { var item = new FixedRow(); Console.WriteLine(item.Size); } }

Результат выполнения кода:

5

Пример

Давайте прочитаем поле в readonly методе struct:

using System; struct Point { public int X; public int Y; public readonly int Sum() { return X + Y; } } class Program { static void Main() { var pt = new Point { X = 2, Y = 3 }; Console.WriteLine(pt.Sum()); } }

Результат выполнения кода:

5

Смотрите также

  • const,
    который задаёт константу времени компиляции
  • static,
    который объявляет общий член типа
  • volatile,
    который влияет на видимость поля в потоках
  • List,
    элементы которого можно хранить в readonly поле
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить