我正在编写一些逻辑,如果它不为空,它将获得对象的开始日期,否则它将获得最小值。
var statusStartDate = ((DateTime?)previousCategory?.StartDate) ?? DateTime.MinValue;
Resharper 正在生成操作数永远不会为空的警告:
如果场景中的前一个类别为空,这将如何不创建一个左手操作数为空,或者这只是 resharper 中的一个错误?
编辑
DateTime 的可验证示例
public class Test
{
public Date2 startDate;
public List<Test> testList = new List<Test>();
public struct Date2
{
public static explicit operator Date2(DateTime date)
{
return default(Date2);
}
public static explicit operator DateTime(Date2 date)
{
return default(DateTime);
}
}
public DateTime BS()
{
var tmp = testList.LastOrDefault();
var testDate = ((DateTime?)tmp?.startDate) ?? DateTime.MaxValue;
return testDate;
}
}
var test = new Test();
test.BS();
var x = test.BS();