gnSaveOnExit = If(gnSaveOnExit = 0, 1, 0)
这是什么意思?如果gnSaveOnexit为0,则该语句为true,否则为false? 或gnSaveOnExit将从0更改为1,其他值将更改为0?
答案 0 :(得分:3)
在我看来,内联if语句会将gnSaveOnExit
的值翻转为0到1之间。
如果唯一有效值为0和1,则可以将其转换为布尔值。该陈述将简单地说是:
bnSaveOnExit = Not bnSaveOnExit
......即使没有某种背景,这确实没有任何意义。
答案 1 :(得分:2)
这是以下方面的简写:
If gnSaveOnExit = 0 Then
gnSaveOnExit = 1
else
gnSaveOnExit = 0
end If
换句话说:如果gnSaveOnExit = 0
,请将其设为1
。如果是其他内容,请将其设置为0
答案 2 :(得分:0)
将非零值切换为零,将零值切换为1.无论如何,gnSaveOnExit大概只能为1或0。我不确定为什么没有使用布尔值。
等效(只是为了好玩!)将是
gnSaveOnExit = -1 * (gnSaveOnExit - 1)
答案 3 :(得分:0)
首先“应该是IIF否如果
应该读取IIF(gnSaveOnExit = 0,1,0)
如果gnsaveonexit = 0则为1,否则为0
当Visual Basic将数值数据类型值转换为布尔值时,0变为False,所有其他值变为True。当Visual Basic将布尔值转换为数字类型时,False变为0,True变为-1。