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

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

Ключевое слово required перед свойством или полем требует явно присвоить значение при создании экземпляра - в инициализаторе объекта или в конструкторе. Если обязательный член не задан, компилятор выдаёт ошибку. Часто сочетают с init или обычным set.

Синтаксис

public required тип Имя { get; set; } var obj = new Класс { Имя = значение };

Пример

Давайте создадим объект с required свойством в инициализаторе:

using System; class Entry { public required string Key { get; set; } } class Program { static void Main() { var entry = new Entry { Key = "abcde" }; Console.WriteLine(entry.Key); } }

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

"abcde"

Пример

Давайте зададим required свойство через конструктор:

using System; class Entry { public required string Key { get; set; } public Entry(string key) { Key = key; } } class Program { static void Main() { var entry = new Entry("12345"); Console.WriteLine(entry.Key); } }

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

"12345"

Пример

Без инициализации required члена код не компилируется:

class Entry { public required string Key { get; set; } } class Program { static void Main() { var entry = new Entry(); } }

Компилятор потребует задать Key при создании Entry.

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

  • инициализатор init,
    который фиксирует значение после создания
  • свойство get и set,
    к которому добавляют required
  • тип string,
    который часто делают обязательным полем
  • ключевое слово class,
    в котором объявляют такие свойства
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить