在LINQ中使用Nullable DateTime时可能出现InvalidOperationException

本文关键字:InvalidOperationException DateTime LINQ Nullable | 更新日期: 2023-09-27 17:51:21

我有一个这样定义的变量:

DateTime? tempDateTime;

我还有一个这样的查询:

var recordWithMinDatetime =
    locatedContracts.Where(t => t.OriginalDate.HasValue)
        .OrderBy(t => t.OriginalDate.Value)
        .FirstOrDefault();
    if (recordWithMinDatetime != null)
        tempDateTime = recordWithMinDatetime.OriginalDate.Value;

但是在IDE中,当我将鼠标悬停在最后一个任务上时,它说"可能的InvalidOperationException"

我也安装了ReSharper,所以不确定它是否来自r#或VS IDE,但仍然是我应该关心的事情,我想,但我不明白是什么我做错了或不安全的代码,它给了我这个提示?

在LINQ中使用Nullable DateTime时可能出现InvalidOperationException

这可能是一个r#错误。我会忽略它。你已经确保OriginalDate.Value不会抛出异常通过检查HasValue在你的LINQ查询。

r#试图提供帮助,并且可能期望这样的检查:

if (recordWithMinDatetime != null && recordWithMinDatetime.OriginalDate.HasValue)
    tempDateTime = recordWithMinDatetime.OriginalDate.Value;
相关文章:
  • 没有找到相关文章