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