gpt4 book ai didi

c# - C# 中的三元运算符和 if 语句之间有区别吗?

转载 作者:行者123 更新时间:2023-11-30 13:24:33 27 4
gpt4 key购买 nike

<分区>

我在处理可为空的 DateTime 对象时遇到了一些奇怪的行为。这是一个示例函数:

    public DateTime? Weird()
{
DateTime check = DateTime.Now;
DateTime? dt;
if (check == DateTime.MinValue)
dt = null;
else
dt = Viewer.ActiveThroughUTC.ToLocalTime();

//this line give a compile error
dt = (check == DateTime.MinValue) ? (null) : (Viewer.ActiveThroughUTC.ToLocalTime());
return dt;
}

据我所知,有三元运算符的那一行应该和前面四行一样,但是VS2010编译报错,说<null>之间不存在转换和 DateTime(即使有问题的对象是“DateTime?”)。关于三元运算符,有什么我应该知道的吗?或者这是(喘气?)一个错误?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com