如何在C#中对用户定义的集合列表进行排序

问题描述 投票:0回答:2

我有一个集合(对象)列表,在这里我需要按特定的键(值)对它们进行排序我已经尝试过了,但是我在任何地方都能找到的是被ascii排序的字符串列表,而不是对象。var myList = new List();

这个清单如下:

[
      {
        "parent": null,
        "Id": 14108,
        "value": ""
      },
      {
        "parent": null,
        "Id": 14109,
        "value": null
      },

      {
        "parent": null,
        "Id": 14113,
        "value": "1ab"
      },
      {
        "parent": null,
        "Id": 14114,
        "value": "11b"
      },
      {
        "parent": null,
        "Id": 14115,
        "value": "a10"
      },
      {
        "parent": null,
        "Id": 14111,
        "value": "a1234"
      }
    ]

我希望列表按值按ASCII顺序排序,但似乎只有通过c#中的字符串列表才能解决问题

c# c#-4.0
2个回答
1
投票

您需要将IComparer传递给您的排序方法,或使用lambda来标识应使用哪个属性进行排序。在您的示例中,它看起来类似于myList.Sort( f => f.value )


1
投票

给定

List<MyInterfaceObject> mylist;

然后

mylist.Sort(x => x.value);
© www.soinside.com 2019 - 2024. All rights reserved.