我是一名C#/ASP.NET开发人员,现在需要处理VB/ASP.NET相关的工作。我曾经学过VB.NET,但离开它已有多年,现在语法已经让我感到困惑。
我有两个变量:
我有两个变量:
Dim originalDate as DateTime?
Dim newDate as DateTime?
两个可空的日期时间,originalDate是我从数据库中获取的可空日期,newDate是在代码中设置的时间,我需要比较它们,它们可以同时有日期,也可以同时没有日期,或者一个有日期,另一个没有。
我有以下代码:
if origEndDate = origEndDate then
当origEndDate和origEndDate都为“nothing”时,此语句为假(在观察窗口中运行时返回为“nothing”)!
我不明白为什么会这样,因为我的理解是,“=”比较两个值,而且它们相同,肯定应该是真的吧?
有人能解释一下我做错了什么吗?在C#中,我可以这样做:
if (origEndDate == origEndDate) { }
它将返回true。
感到困惑!
谢谢任何帮助!
Nullable(Of DateTime)
类型上的重载,这比使用默认的基于反射的值类型比较更快。 - cdhowie