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

Метод GetUnderlyingType

Статический GetUnderlyingType принимает typeof перечисления и возвращает Type базового целого. Если база не указана, это Int32 - свойство Name даёт строку "Int32". Явно можно задать enum : byte и другие целые типы.

Синтаксис

Type baseType = Enum.GetUnderlyingType(typeof(Mark)); string name = baseType.Name;

Пример

Давайте узнаем базовый тип перечисления по умолчанию:

using System; enum Mark { None = 0, Read = 1, Write = 2 } class Program { static void Main() { Type baseType = Enum.GetUnderlyingType(typeof(Mark)); Console.WriteLine(baseType.Name); } }

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

"Int32"

Пример

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

using System; enum Code : byte { A = 1, B = 2 } class Program { static void Main() { Type baseType = Enum.GetUnderlyingType(typeof(Code)); Console.WriteLine(baseType.Name); } }

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

"Byte"

Пример

Давайте сравним базовый тип с typeof(int):

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

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

True

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

  • Int32,
    стандартная база перечисления
  • Enum,
    класс, где объявлен GetUnderlyingType
  • ключевое слово enum,
    где задают : byte и другие базы
  • метод ToString,
    который выводит имя или числовой код
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить