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

Метод IsDefined

Статический IsDefined принимает тип перечисления и значение - элемент enum или число базового типа - и возвращает true, если такая константа есть. Число, не совпадающее ни с одним членом, даёт false. Имя по одному значению ищут через GetName.

Синтаксис

bool ok = Enum.IsDefined(Mark.Read); bool ok2 = Enum.IsDefined(typeof(Mark), 99);

Пример

Давайте проверим объявленный элемент Mark.Read:

using System; enum Mark { None = 0, Read = 1, Write = 2 } class Program { static void Main() { bool res = Enum.IsDefined(Mark.Read); Console.WriteLine(res); } }

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

True

Пример

Давайте проверим число вне списка констант:

using System; enum Mark { None = 0, Read = 1, Write = 2 } class Program { static void Main() { bool res = Enum.IsDefined(typeof(Mark), 99); Console.WriteLine(res); } }

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

False

Пример

Давайте сравним Mark.None и число 0:

using System; enum Mark { None = 0, Read = 1, Write = 2 } class Program { static void Main() { bool byEnum = Enum.IsDefined(Mark.None); bool byNum = Enum.IsDefined(typeof(Mark), 0); Console.WriteLine(byEnum); Console.WriteLine(byNum); } }

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

True True

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

  • метод GetName,
    который возвращает null для неизвестного числа
  • метод GetValues,
    который перечисляет все допустимые значения
  • Enum,
    класс, где объявлен IsDefined
  • Int32,
    тип, которым часто задают «лишнее» число
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить