为什么出现此Conditional运算符错误
本文关键字:运算符 错误 Conditional 为什么 | 更新日期: 2023-09-27 17:55:06
可能重复:
具有Nullable<的条件运算符赋值;值>类型?
嗨,为什么这不起作用?
DateTime? SomeNullableDateTime = string.IsNullOrEmpty("") ? null : Convert.ToDateTime("01/02/1982");
这是什么地方的错误吗?问题似乎是无效的,因为
DateTime? SomeNullableDateTime = string.IsNullOrEmpty("") ? Convert.ToDateTime("01/02/1982") : Convert.ToDateTime("01/02/1982");
工作正常。。
感谢
两个条件值都需要是相同的类型,或者允许从一种类型隐式转换为另一种类型,如下所示:
DateTime? SomeNullableDateTime = string.IsNullOrEmpty("") ? (DateTime?)null : Convert.ToDateTime("01/02/1982");
更多信息可以在这里找到,但要总结:
first_expression的类型和second_expression必须是相同,或者必须进行隐式转换从一种类型存在到另一种类型。
因为null
和Convert.ToDateTime
不是同一类型。
你可以使用这个:
DateTime? SomeNullableDateTime = string.IsNullOrEmpty("") ? (DateTime?)null : new DateTime?(Convert.ToDateTime("01/02/1982"));