首页 > 解决方案 > 如何对列表进行排序C#

问题描述

我有一个名为“Order”的类,它有一个“Order Number”和一个“Weight”。

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

        {
            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#listsorting

解决方案


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

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

或降序:

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

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

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

推荐阅读