考虑:
type
TEnum = (e1, e2, e3, e4, e5, e6, e7, e8, e9, e10);
const
ENUM_ARR: array[TEnum] of integer = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
procedure Proc;
var
subEnumArr: array[e3..e5] of integer;
enumVar: TEnum;
begin
for enumVar := Low(subEnumArr) to High(subEnumArr) do
subEnumArr[enumVar] := ENUM_ARR[enumVar];
end;
这很好用。但是可以说我想用一组更复杂的枚举构造一个数组,例如:
subEnumArr: array[e1, e3..e5, e7, e9..e10] of integer;
所以delphi不允许这样做,我想知道是否有一个优雅的解决方案。