gpt4 book ai didi

C# if 语句速记运算符 (?:) results in unreachable code

转载 作者:可可西里 更新时间:2023-11-01 07:59:58 24 4
gpt4 key购买 nike

为什么我在使用 Visual Studio 2010 的 C# 中收到此警告?

"Unreachable expression code detected"

来自以下代码(DateTime.Now 以绿色波浪线下划线):

public DateTime StartDate
{
get
{
DateTime dt = (DateTime)ViewState["StartDate"];
return ((dt == null) ? DateTime.Now : dt);
}
}

最佳答案

因为 DateTime 结构永远不能为 null。

如果您期望可能的空值,则必须使用可为空的 DateTime 结构。您也可以使用空合并运算符代替条件运算符:

public DateTime StartDate
{
get
{
DateTime? dt = (DateTime?)ViewState["StartDate"];
return dt ?? DateTime.Now;
}
}

或者您可以将其作为单行代码(如 the comments 中所示):

public DateTime StartDate
{
get { return (DateTime)(ViewState["StartDate"] ?? DateTime.Now); }
}

关于C# if 语句速记运算符 (?:) results in unreachable code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3505703/

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