可能重复:
Conditional operator assignment with Nullable<value> types?
您好, 为什么这不起作用?
DateTime? SomeNullableDateTime = string.IsNullOrEmpty("") ? null : Convert.ToDateTime("01/02/1982");
某处出错了吗?问题似乎是null,因为
DateTime? SomeNullableDateTime = string.IsNullOrEmpty("") ? Convert.ToDateTime("01/02/1982") : Convert.ToDateTime("01/02/1982");
工作正常..
由于
答案 0 :(得分:2)
两个条件值都必须属于同一类型,或允许从一种类型到另一种类型的隐式转换,如下所示:
DateTime? SomeNullableDateTime = string.IsNullOrEmpty("") ? (DateTime?)null : Convert.ToDateTime("01/02/1982");
可以找到更多信息here,但总结一下:
first_expression的类型 和second_expression必须是 相同,或隐式转换必须 从一种类型存在到另一种类型。
答案 1 :(得分:0)
因为null
和Convert.ToDateTime
不是同一类型。
您可以使用:
DateTime? SomeNullableDateTime = string.IsNullOrEmpty("") ? (DateTime?)null : new DateTime?(Convert.ToDateTime("01/02/1982"));