在 Visual Basic 2008 中使用两个等号

发布于 2024-10-17 08:15:24 字数 73 浏览 4 评论 0原文

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

intMax = intTopValue = 20

In code, why wouldn't this work?

intMax = intTopValue = 20

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

回忆那么伤 2024-10-24 08:15:24

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

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

大多数语言不存在此问题,因为它们使用单​​独的运算符进行赋值(=:=)和相等(== 或 <代码>=)。

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

This is interpreted as intMax = (intTopValue = 20).

intTopValue = 20 will check whether intTopValue is equal to 20 and return true or false.
This boolean will then be assigned to intMax.

Most languages don't have this issue, since they use separate operators for assignment (= or :=) and equality (== or =).

By contrast, VB shares = for both operations. Therefore, when a = b is written as an expression, it always means equality.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文