Методы класса Enum

Материал из Вики проекта PascalABC.NET
Версия от 13:40, 12 января 2010; Mikst (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

У класса Enum, к которому принадлежат все перечислимые типы, есть ряд методов, позволяющих получить массив значений перечислимого типа и массив имен всех констант перечислимого типа.

uses System;

type Months = (January,February,March,April,May,June,July,August,September,October,November,December);

begin
  var t: &Type := typeof(Months);
  var names: array of string := Enum.GetNames(t);
  writeln('Цикл по именам перечислимого типа');
  foreach name: string in names do
    write(name,' ');
  writeln; writeln;
  
  var v: &Array := Enum.GetValues(t);
  var mm: array of Months := new Months[v.Length];
  writeln('Цикл по массиву всех значений перечислимого типа');
  for var i:=0 to v.Length-1 do
    mm[i] := Months(v.GetValue(i));
     
  for var i:=0 to mm.Length-1 do
    write(mm[i],' ');    
end.

Следует обратить внимание, что процедура write "умеет" выводить значения перечислимого типа.

Ссылки