Nar*_*esh 5 c# collections list arraylist c#-4.0
我有一个自定义类型列表.而自定义类型是
public class PossibleMatch
{
public PossibleMatch()
{
StoreIds = new List<long>();
OrderLineIds = new List<long>();
}
public IList<long> StoreIds { get; set; }
public IList<long> OrderLineIds { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我必须以这样一种方式对列表进行排序,其中商店数量较少,订单行数量应该在顶部.
提前致谢.
LINQ只有这方面的方法.
尝试使用以下内容来匹配最少StoreIds的匹配,然后通过匹配最多OrderLineIds的子订单进行排序:
var possibleMatches = new List<PossibleMatch>();
var ordered = possibleMatches.OrderBy(pm => pm.StoreIds.Count).ThenByDesc(pm => pm.OrderLineIds.Count);
Run Code Online (Sandbox Code Playgroud)
或者通过匹配最多的OrderLineIds排序,然后通过与最少StoreIds匹配的子订单排序:
var ordered = possibleMatches.OrderByDesc(pm => pm.OrderLineIds.Count).ThenBy(pm => pm.StoreIds.Count);
Run Code Online (Sandbox Code Playgroud)