当将 varEmpty
Variant
变量与零评估 变量进行比较时,为什么
=
运算符结果为 True
>varIntegerVariant
变量?
var
V1 : Variant;
V2 : Variant;
begin
V2 := 0;
if(V1 = V2)
then ShowMessage('V1 = V2')
else ShowMessage('V1 <> V2');
end;
此代码产生以下输出:
V1 = V2
等式运算符=
是否只检查Variant
变量的值部分?
最佳答案
为了进行比较,空变量被转换为整数。根据variant type conversion rules ,未分配的(空)变量将转换为 0。因此表达式返回 true。
关于delphi - 为什么将 varEmpty 与零评估的 varInteger 进行比较时 "="运算符结果为 True?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53946069/