Joh*_*hnB 13 c# asp.net if-statement visual-studio
为什么我在使用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);
  }
}
Jus*_*ner 38
因为DateTime结构永远不能为null.
如果您期望可能的空值,则必须使用可为空的DateTime结构.您也可以使用null-coalescing运算符而不是条件运算符:
public DateTime StartDate
{
    get
    {
        DateTime? dt = (DateTime?)ViewState["StartDate"];
        return dt ?? DateTime.Now;
    }
}
或者你可以做一个单行(如评论中所示):
public DateTime StartDate
{
    get { return (DateTime)(ViewState["StartDate"] ?? DateTime.Now); }
}
| 归档时间: | 
 | 
| 查看次数: | 5740 次 | 
| 最近记录: |