vb.net - Or 与 OrElse

标签 vb.net

orOrElse 有什么区别?

if temp is dbnull.value or temp = 0

产生错误:

Operator '=' is not defined for type 'DBNull' and type 'Integer'.

虽然这个很有魅力!?

if temp is dbnull.value OrElse temp = 0

最佳答案

OrElse是一个短路运算符,Or不是。

根据 bool “或”运算符的定义,如果第一项为 True,则整体肯定为 true - 因此我们不需要计算第二项。

OrElse知道这一点,所以不要尝试评估 temp = 0一旦确定temp Is DBNull.Value

Or不知道这一点,并且总是尝试评估这两个术语。当temp Is DBNull.Value ,无法与零比较,所以就倒下了。

你应该使用......好吧,无论哪个有意义。

关于vb.net - Or 与 OrElse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1170754/

相关文章:

c# - C# 和 VB.NET 中的接口(interface)实现

vb.net - 如何判断源代码是用 Visual Basic 还是 VB.Net 编写的?

.net - 将所选行从 DataGridView 复制到另一个,包括图像列

vb.net - 确定哪个进程锁定了文件

vb.net - 使 Selenium Firefox Webdriver 信任根证书

c# - 如何在datagridview c#中只显示我的查询结果

c# - Form中Load事件、Activate事件和Enter事件的区别

asp.net - 无法理解从 HTML 导出 Excel 电子表格的代码

javascript - vb.net整数除法

javascript - 中继器控制方法的 ASP.NET 过滤器下拉列表