加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – 比较整数和整数?结果是布尔值?不是布尔值

发布时间:2020-12-17 07:24:29 所属栏目:百科 来源:网络整理
导读:我只是编写一些代码来比较整数的id和整数的id?例如: Dim id As Integer = 1Dim nullId As Integer? = NothingDim areEqual As BooleanareEqual = nullId = id 当我尝试编译代码时,我收到编译器错误: Option Strict On disallows implicit conversions fro
我只是编写一些代码来比较整数的id和整数的id?例如:

Dim id As Integer = 1
Dim nullId As Integer? = Nothing
Dim areEqual As Boolean
areEqual = nullId = id

当我尝试编译代码时,我收到编译器错误:

Option Strict On disallows implicit conversions from 'Boolean?' to 'Boolean'.

虽然我很容易解决这个问题,但我希望有人能够解释编译器中发生的事情以发出此警告.

解决方法

这是可空类型的怪癖之一. NULL(一般而言)表示“不知道”.比较已知和未知的未知结果(因为你不知道它们是否相同).

它与.NET中的可空类型相同.比较一个整数?使用Integer会导致布尔值?,因为您可能会得到True,False或“不知道”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读