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

DateTime? tempDateTime;


而且我有这样的查询:

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


但是在IDE中,当我将鼠标悬停在上一个任务上时,它说“ Possible InvalidOperationException”

我也安装了ReSharper,所以不确定它是否来自R#或VS IDE,但我仍然需要担心,但我不明白它是做什么的,我给出了错误或不安全的代码我这个提示吗?

最佳答案

这可能是R#错误。我会忽略它。通过在LINQ查询中检查OriginalDate.Value,确保了HasValue不会引发异常。

R#试图提供帮助,并且可能希望进行如下检查:

if (recordWithMinDatetime != null && recordWithMinDatetime.OriginalDate.HasValue)
    tempDateTime = recordWithMinDatetime.OriginalDate.Value;


但是在您的情况下,此检查是多余的。

10-04 14:21