首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在linq中使用带2个字段的orderby?

如何在linq中使用带2个字段的orderby?
EN

Stack Overflow用户
提问于 2010-01-02 05:20:31
回答 5查看 185.6K关注 0票数 175

假设我在一个数据库表中有这些值

id = 1
StartDate = 1/3/2010
EndDate =  1/3/2010

id = 2
StartDate = 1/3/2010
EndDate = 1/9/2010

到目前为止,我的linq已经有了这个orderby。

var hold = MyList.OrderBy(x => x.StartDate).ToList();

我想订购它,但也使用结束日期。

就像我想要的顺序一样

id 2
id 1

因此,较大的endDates优先使用。我不确定是否需要将其更改为使用某个比较函数或其他什么。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-02 05:23:06

MyList.OrderBy(x => x.StartDate).ThenByDescending(x => x.EndDate);
票数 323
EN

Stack Overflow用户

发布于 2010-01-02 05:23:12

使用ThenByDescending

var hold = MyList.OrderBy(x => x.StartDate)
                 .ThenByDescending(x => x.EndDate)
                 .ToList();

您还可以使用查询语法,并说:

var hold = (from x in MyList
           orderby x.StartDate, x.EndDate descending
           select x).ToList();

ThenByDescendingOrderBy返回的IOrderedEnumerable上的一个扩展方法。另请参阅相关方法ThenBy

票数 75
EN

Stack Overflow用户

发布于 2016-09-22 16:54:58

如果您有两个或更多字段要订购,请尝试以下操作:

var soterdList = initialList.OrderBy(x => x.Priority).
                                    ThenBy(x => x.ArrivalDate).
                                    ThenBy(x => x.ShipDate);

您可以使用类"ThenBy“添加其他字段

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1989674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档