【问题标题】:How to sort a list C# [duplicate]如何对列表进行排序C# [重复]
【发布时间】:2020-01-15 23:55:31
【问题描述】:

我有一个名为“Order”的类,它有一个 “订单号”和“重量”。

我有一份杂乱无章的订单清单。 我想按每个订单的重量对这个列表进行排序。升序和降序。

        {
            return new List<Order>() {
             new Order(){
             OrderNumber =1,
             Weight = 1.2
            },
             new Order(){
             OrderNumber =2,
             Weight = 1.2
            },
             new Order(){
             OrderNumber =3,
             Weight = 1.2
            },
             new Order(){
             OrderNumber =4,
             Weight = 2
            },
             new Order(){
             OrderNumber =5,
             Weight = 1.2
            },
             new Order(){
             OrderNumber =6,
             Weight = 1.2
            }
            };
        }

我想创建一个 List OrganizedOrders,其中最重的(订单号 4)将位于此列表的顶部。

非常感谢。我知道这是非常基本的,但我才刚刚开始。 谢谢!

【问题讨论】:

标签: c# list sorting


【解决方案1】:

@Luciano 尝试使用 lambda 表达式。您的列表称为 myOrders:

myOrders.OrderBy(o => o.Weight);

或降序:

myOrders.OrderByDescending(o => o.Weight);

如果您确实需要,您可以将其中任何一个保存到新列表中:

List<Order> ascendingOrders = myOrders.OrderBy(o => o.Weight).ToList();

【讨论】:

    【解决方案2】:

    以前有人问过这个问题 (How to Sort a List<T> by a property in the object)

    使用 LINQ:

    List<Order> SortedList = myOrderList.OrderBy(o=>o.Weight).ToList();
    

    List<Order> SortedList = myOrderList.OrderByDescending(o=>o.Weight).ToList();
    

    【讨论】:

    • 请标记重复而不是创建重复的答案,尤其是当您已经找到重复的答案时。
    • 同意!如果您知道它是重复的,您可以单击 close 链接,选择 Duplicate of...,然后将链接粘贴到 dup。
    猜你喜欢
    • 1970-01-01
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2010-10-29
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多