c# - C#中的排序列表

标签 c# list c#-4.0 collections arraylist

我有一个自定义类型列表。而自定义类型是

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; }
    }

我必须以这样的方式对列表进行排序,即商店数量较少且订单行数量较多的商品应位于顶部。

提前致谢。

最佳答案

LINQ 仅有用于此的方法。

尝试以下先按具有最少 StoreId 的匹配项进行排序,然后按具有最多 OrderLineId 的匹配项进行子排序:

 var possibleMatches = new List<PossibleMatch>();
 var ordered = possibleMatches.OrderBy(pm => pm.StoreIds.Count).ThenByDesc(pm => pm.OrderLineIds.Count);

或者先按具有最多 OrderLineId 的匹配项进行排序,然后按具有最少 StoreId 的匹配项进行子排序:

var ordered = possibleMatches.OrderByDesc(pm => pm.OrderLineIds.Count).ThenBy(pm => pm.StoreIds.Count);

关于c# - C#中的排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13194494/

相关文章:

c#-4.0 - 并行执行每个有序执行

c# - 运行空间和自定义 powershell

c# - 在嵌套列表中按属性排序列表

list - R中数据框中的列表列

python - 在 Python 中使用嵌套列表

python - 打印出列表中每个列表的平均值,在 Python 中每行一个

c# - 无法使用 LOCK C# 锁定值类型

c# - 我应该把一个被多次调用的函数放在哪里?

c# - 在 Xamarin 表单应用程序中使用菜单创建导航栏

c# - XNA Tile 映射平台游戏?