我在C#中有一个通用的对象列表,例如,这是对象可能是什么.
public class Thing { public string Name { get; set; } public DateTime EditDate { get; set; } } var things = new List();
现在我想打电话:
thing.Sort((t1, t2) => t1.EditDate.CompareTo(t2.EditDate));
但是,我的一些EditDate属性为null.我希望这些具有null EditDate属性的对象显示在我的列表顶部(即更接近零索引).我怎样才能做到这一点?
您可以创建一个更复杂的lambda,例如:
things.Sort((t1, t2) => { if (t1 == null) { return (t2 == null) ? 0 : -1; } if (t2 == null) { return 1; } return t1.EditDate.CompareTo(t2.EditDate); });
EndDate
不能null
因为它是一种价值类型.但是,如果你有一个EndDate
你认为的特定值null
,你可以修改上面的代码,以与我应对t1
或t2
存在的方式类似的方式考虑到这一点null
.