这段代码是什么?

时间:2011-02-24 15:20:42

标签: .net vb.net if-statement

gnSaveOnExit = If(gnSaveOnExit = 0, 1, 0)

这是什么意思?如果gnSaveOnexit为0,则该语句为true,否则为false? 或gnSaveOnExit将从0更改为1,其他值将更改为0?

4 个答案:

答案 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。