Методы класса Enum: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) (Новая: У класса Enum, к которому принадлежат все перечислимые типы, есть ряд методов, позволяющих получить мас...) |
Mikst (обсуждение | вклад) Нет описания правки |
||
Строка 22: | Строка 22: | ||
end. </source> | end. </source> | ||
Следует обратить внимание, что процедура write "умеет" выводить значения перечислимого типа. | Следует обратить внимание, что процедура write "умеет" выводить значения перечислимого типа. | ||
== Ссылки == | |||
*[[Особенности языка: продвинутый уровень]] | |||
*[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка] |
Текущая версия от 13:40, 12 января 2010
У класса 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 "умеет" выводить значения перечислимого типа.