内容简介:翻译自:https://stackoverflow.com/questions/20398773/there-is-no-implicit-conversion-between-null-and-datetime
参见英文答案 > Conditional operator assignment with Nullable<value> types? 5个
下面的代码从给定的DataRow(modelValue)读取一个数据,并将其解析为可以为空的DateTime实例.
问题:请参阅L1&中的代码部分. L2两者在技术上相等(如果我没有造成任何小学生错误).但是,L1按预期工作,但不是L2.我正进入(状态
there is no implicit conversion between null and datetime
当我在L2下执行代码时.有人可以告诉我吗?
DateTime? CallBack;
var callBackDate = modelValue["CallBack"] == DBNull.Value ? null : modelValue["CallBack"].ToString();
//Parsing
DateTime cdate;
if (!DateTime.TryParse(callBackDate, out cdate))
cdate = DateTime.MinValue;
//L1
if (cdate==DateTime.MinValue)
CallBack = null;
else
CallBack = cdate.Date;
//L2
CallBack = cdate == DateTime.MinValue?null:cdate.Date;
(Z) ? X : Y
三元运算符要求从第二个操作数(X)到第三个操作数(Y)或从Y到X存在隐式转换.
由于null不能隐式转换为DateTime,也不能将DateTime转换为null,因此无法计算表达式.更多相关信息: Type inference woes by Eric Lippert .
你必须将null转换为DateTime?.通过这样做,X将是DateTime类型?和Y将是DateTime类型.由于存在从DateTime到DateTime?的隐式转换,因此可以计算表达式,并且它将返回DateTime?类型的值.
或者,按照相同的逻辑,您也可以将第三个操作数Y转换为DateTime?.
翻译自:https://stackoverflow.com/questions/20398773/there-is-no-implicit-conversion-between-null-and-datetime
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- golang 数据类型之间的转换
- 浅谈 Go 类型转换之间的那些事
- C++ 基类指针和派生类指针之间的转换
- DataURL 与 File,Blob,canvas 对象之间的互相转换
- Go语言的string和byte slice之间的转换
- c++中几种常见的类型转换。int与string的转换,float与string的转换以及string和long类型之间的相互...
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Mashups Web 2.0开发技术—— 基于Amazon.com
萨拉汉 / 吴宏泉 / 清华大学 / 2008-1 / 48.00元
《MashupsWeb2.0开发技术(基于Amazon.Com) 》介绍了mashup的底层技术,并且第一次展示了如何创建mashup的应用程序。Amazon.com与Web服务强势结合,拓展了Internet的应用范围,使得开发人员可以把Amazon的数据和其他的可利用资源自由地结合起来创建功能丰富的全新应用程序,这种应用程序叫做mashup。 《MashupsWeb2.0开发技术(基于A......一起来看看 《Mashups Web 2.0开发技术—— 基于Amazon.com》 这本书的介绍吧!
图片转BASE64编码
在线图片转Base64编码工具
HEX HSV 转换工具
HEX HSV 互换工具