delphi – 是否为集合记录了乘法运算符?
发布时间:2020-12-15 04:17:47 所属栏目:大数据 来源:网络整理
导读:我今天注意到了这段代码,并想知道这些类型的操作是否记录在某处以及为什么这样做(性能等). var Shift: TShiftStatebegin if [ssShift,ssCtrl] * Shift [] then begin ... end;end; 从我的测试看起来它只是看着这样的代码检查Shift是否包含ssShift或ssCtrl.这
我今天注意到了这段代码,并想知道这些类型的操作是否记录在某处以及为什么这样做(性能等).
var Shift: TShiftState begin if [ssShift,ssCtrl] * Shift <> [] then begin ... end; end; 从我的测试看起来它只是看着这样的代码检查Shift是否包含ssShift或ssCtrl.这是记录在案的行为,还是只是利用集合内部实际存储为整数的事实? 解决方法
当与集合一起使用时,这不是乘法运算符;它是交叉点运算符.这是记录在案的,并且自德尔福之前就开始了.见
Expressions,特别是有关设定操作的部分.它们是联合,交集,子集和超集,平等,不平等和成员资格的标准数学运算符.
以下是文档表格的摘要: Operator Operation Operand Types Result Type Example -------- --------- ------------- ----------- ------- + union set set Set1 + Set2 - difference set set S - T * intersection set set S * T <= subset set Boolean Q <= MySet >= superset set Boolean S1 >= S2 = equality set Boolean S2 = MySet <> inequality set Boolean MySet <> S1 in membership ordinal,set Boolean A in Set1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |