DateTime和DbNull.Value有谁知道为什么会这样:if(_item.Created==DateTime.MinValue){ListSqlParam.Add(newSqlParameter("@TransactionCreated",DBNull。价值));}else{ListSqlParam.Add(newSqlParameter("@TransactionCreated",_item.Created));但不是这个:ListSqlParam.Add(newSqlParameter("@TransactionCreated",((_item.Created==DateTime.MinValue)?DBNull.Value:_item.Created)));原因是条件运算符是一种特定类型的表达式。编译器从运算符的两个分支中的表达式类型推断出这种特定类型。在您的代码中,编译器无法使用此特定类型,因为DBNull.Value和_item.Created属于不同的_item.Created相关类型。您不能将任何一个转换为另一个的类型。要使其工作,请将至少一个分支投射到对象:(_item.Created==DateTime.MinValue)?(object)DBNull.Value:_item.Created条件的不同方面(true和false分支)应返回相同的两种类型或可以隐式转换为彼此。DBNull.Value和DateTime不是这样的值。改用SqlDateTime:以上就是C#学习教程分享的全部内容:DateTime和DbNull.Value。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注—_item.Created==DateTime.MinValue?SqlDateTime.Null:newSqlDateTime(_item.Created)本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
