C# 如何按嵌套的IEnumerable对象对IEnumerable对象进行排序?
可能重复:C# 如何按嵌套的IEnumerable对象对IEnumerable对象进行排序?,c#,linq,C#,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}},
我有这个收藏:
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}}
};
IEnumerable sam=新列表()
{
新样本{id=1,name=“样本1”,list=newlist{5,6,1},
新样本{id=2,name=“样本1”,list=newlist{2,9},
新样本{id=3,name=“样本1”,list=newlist{8,3,7},
新样本{id=4,name=“样本1”,list=newlist{8,4,3},
新样本{id=5,name=“样本1”,list=newlist{5,1,7},
新样本{id=6,name=“样本1”,list=newlist{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}},
newsample{id=2,name=“sample 1”,list=newlist{2,9},
新样本{id=5,name=“样本1”,list=newlist{5,1,7},
新样本{id=1,name=“样本1”,list=newlist{5,6,1},
新样本{id=6,name=“样本1”,list=newlist{6,9,7}
新样本{id=3,name=“样本1”,list=newlist{8,3,7},
新样本{id=4,name=“样本1”,list=newlist{8,4,3},
顺便说一下,这是按“列表”排序的
谢谢这是通过
列表
属性的第一项订购的LINQsam
(我想这就是您想要的,对吧?)
IEnumerable orderedSam=sam.OrderBy(item=>item.list.FirstOrDefault());
将运算符更改为FirstOrDefault()
应防止按空列表排序时出现异常。是的,类似这样的情况。。。谢谢你做作业??也在
IEnumerable<sample> orderedSam = sam.OrderBy(item => item.list.FirstOrDefault());