如果我将类型定义为枚举类型的集合,则使用[]创建空集很容易,但如何创建完整集?
编辑:是的,显而易见的解决方案是使用for循环.如果有另一种方式,这也是一个非常糟糕的解决方案.有谁知道一种在恒定时间内工作的方式?
Low()和High()是可以在编译时评估的"编译魔术"函数.这允许它们在如下的常量声明中使用:
var MySet : TBorderIcons; MySet2 : TBorderIcons; const AllIcons : TBorderIcons = [Low(TBorderIcon)..High(TBorderIcon)]; begin MySet := [Low(TBorderIcon)..High(TBorderIcon)]; MySet2 := AllIcons; end;
Per Barry的建议:
FillChar(VarSet, SizeOf(VarSet), $FF);