BadCats
@BadCats

Перечисления. Метод GetValue в цикле?

всем привет, имеется следующий пример:

class Program
    {
        static void Main()
        {
            // Enum.GetValues() - возвращает экземпляр System.Array, при этом каждому элементу массива 
            // будет соответствовать член указанного перечисления.

            // Помещаем в массив элементы перечисления.
            Array array = Enum.GetValues(typeof(EnumType));

            // Получаем информацию о количестве элементов в массиве.
            Console.WriteLine("Это перечисление содержит {0} членов \n", array.Length);

            // Вывод на экран всех элементов перечисления
            for (int i = 0; i < array.Length; i++)
            {
                Console.WriteLine("Имя константы: {0}, значение {0:D}", array.GetValue(i));
            }

            // Delay.
            Console.ReadKey();
        }
    }

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

enum EnumType
    {
        Zero,  // = 0 
        One = 1,
        one = One,
        Two = 2,
        Three, // = 3
        Four,  // = 4
        Five = 5,
        //Six,
        Seven,
        Eight = 8,
        Nine,
        Ten = 10,
        Infinite = 255
    }

у меня вопрос по поводу цикла

// Вывод на экран всех элементов перечисления
            for (int i = 0; i < array.Length; i++)
            {
                Console.WriteLine("Имя константы: {0}, значение {0:D}", array.GetValue(i));
            }


В переменной arrray типа Array содержится все элементы перечисления EnumType, которые представленны в виде таблицы как и любой другой массив, а метод GetValue по i-му номеру вытягивает данные о элементе массива констант записанного в переменную array.

Так вот, этот массив создается как одномерный или как двумерный - т.к константа перечисления состоит из имени и значения?
  • Вопрос задан
  • 228 просмотров
Решения вопроса 1
@BernadetteWolowitz
C# developer
Массив создается как одномерный. Не важно, что он содержит: int или EnumType или BigObjectWithManyProperties.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы