在Visual Basic 2008中使用两个等号

时间:2011-02-13 17:05:27

标签: vb.net variable-assignment equality

在代码中,为什么这不起作用?

intMax = intTopValue = 20

1 个答案:

答案 0 :(得分:7)

这被解释为intMax = (intTopValue = 20)

intTopValue = 20会检查intTopValue是否等于20并返回true或false。
然后将此布尔值分配给intMax

大多数语言都没有此问题,因为它们使用单​​独的运算符进行分配(=:=)和相等(===)。

相比之下,VB为这两个操作共享=。因此,当a = b被写为表达式时,它总是意味着相等。