vb.net - 在 Visual Basic 2008 中使用两个等号

标签 vb.net variable-assignment equality

在代码中,为什么这行不通?

intMax = intTopValue = 20

最佳答案

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

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

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

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

关于vb.net - 在 Visual Basic 2008 中使用两个等号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4985531/

相关文章:

c - 在指针赋值中使用指向内容

java - 为什么 Java 字符串比较在 Java 15 和 Java 11 中表现不同?

.net - List<T> Sort 使用 Comparer<T> 而不是 IEquatable,为什么?

javascript - Javascript 中的变量赋值顺序是什么?

c# - 犀牛模拟 : stubbing value used in assertion?

vb.net - 如何向WebApi传递多个属性?

vb.net - 尝试多种捕获行为

vb.net - "obj.X"VB.net 的术语正确吗?

vb.net - 更改数据 GridView 行中单个单元格的样式