将=
True
变量与值为零的varEmpty
Variant
变量进行比较时,为什么varInteger
运算符会得出Variant
?>
var
V1 : Variant;
V2 : Variant;
begin
V2 := 0;
if(V1 = V2)
then ShowMessage('V1 = V2')
else ShowMessage('V1 <> V2');
end;
此代码产生以下输出:
V1 = V2
等于运算符=
仅检查Variant
变量的值部分吗?
答案 0 :(得分:8)
为了进行比较,将空变体转换为整数。根据{{3}},未分配的(空)变量将转换为0。因此表达式返回true。