从一个集合类型变量开始,如 TAnchors
:
TAnchorKind = (akLeft, akTop, akRight, akBottom);
TAnchors = set of TAnchorKind;
我试图获得互补的值(value)。
var
Tmp : TAnchors;
begin
Tmp := [akLeft];
...
end;
我期望得到
TAnchors
的所有值不在 Tmp
中多变的。例如,从
[akLeft]
开始, 我希望得到 [akTop, akRight, akBottom]
.我试过使用
not
运算符,但它似乎不适用于 Sets types
.
最佳答案
集合运算符列于 documentation . not
运算符未在此处列出,这就是它不能用于集合的原因。但是,您正在寻找差异运算符 -
.取包含所有成员的集合与您的集合之间的差异:
[Low(TAnchorKind)..High(TAnchorKind)] - Anchors
关于delphi - 如何获取 Delphi 集类型变量的互补值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55118380/