【发布时间】:2015-06-03 02:56:14
【问题描述】:
以下代码使用comparison 运算符编译得很好。
If(dateTimeVariable > SqlDateTime.MinValue) //compiles Ok. dateTimeVariable is of type DateTime
{
}
但是,以下代码无法编译。
DateTime dateTimeVariable=SqlDateTime.MinValue;
//Throws exception , cannot convert source type SqlDateTime to DateTime. Which is obvious.
我的问题是为什么在SqlDateTime 和Datetime 类型之间允许comparison 而不是assignment。 (除非comparison 运营商正在做一些implicit 转换。)
我猜我一定遗漏了一些非常基本的东西。
【问题讨论】:
-
您怀疑比较会导致隐式转换是正确的。请参阅下面的答案以了解原因。
标签: c# datetime sqldatetime