【问题标题】:How to sort an IEnumerable object by a nested IEnumerable object? [duplicate]如何通过嵌套的 IEnumerable 对象对 IEnumerable 对象进行排序? [复制]
【发布时间】:2012-09-03 11:00:32
【问题描述】:

可能重复:
Sort a field of each object in a list with LINQ

我有这个收藏:

    IEnumerable<sample> sam = new List<sample>()
    {
        new sample{ id = 1, name = "sample 1", list = new List<int>{5,6,1}},
        new sample{ id = 2, name = "sample 1", list = new List<int>{2,9}},
        new sample{ id = 3, name = "sample 1", list = new List<int>{8,3,7}},
        new sample{ id = 4, name = "sample 1", list = new List<int>{8,4,3}},
        new sample{ id = 5, name = "sample 1", list = new List<int>{5,1,7}},
        new sample{ id = 6, name = "sample 1", list = new List<int>{6,9,7}}
    };

如何使用 LINQ 对其进行排序,以便输出为:

     new sample{ id = 2, name = "sample 1", list = new List<int>{2,9}},
     new sample{ id = 5, name = "sample 1", list = new List<int>{5,1,7}},
     new sample{ id = 1, name = "sample 1", list = new List<int>{5,6,1}},
     new sample{ id = 6, name = "sample 1", list = new List<int>{6,9,7}}
     new sample{ id = 3, name = "sample 1", list = new List<int>{8,3,7}},
     new sample{ id = 4, name = "sample 1", list = new List<int>{8,4,3}},

顺便说一下,这是按“列表”排序的。

谢谢

【问题讨论】:

标签: c# linq


【解决方案1】:

这是通过list 属性的第一项订购sam 的LINQ(我猜这就是您所追求的,对吧?):

IEnumerable<sample> orderedSam = sam.OrderBy(item => item.list.FirstOrDefault());

【讨论】:

  • 将运算符更改为FirstOrDefault() 应该防止在按空列表排序时出现异常。
  • 是的,类似的...非常感谢
猜你喜欢
  • 2019-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-03
  • 2011-07-01
  • 2018-02-08
  • 2019-06-25
相关资源
最近更新 更多