[英]c# Linq sort List by member of nested List
I've got我有
List<ObjectA>
ObjectA is a List<ObjectB>
ObjectB is List<ObjectC>
One of ObjectC is class with field ID (I could specify it) and field "Name" ObjectC 之一是 class 字段 ID(我可以指定)和字段“名称”
var result = List<ObjectA>
.OrderBy(t => t.ObjectB[1]
.ObjectC
.Where(c => c.ID.Equals("ID"))
.FirstOrDefault().Name)
I want to NOT use strong index for ObjectB.我不想对 ObjectB 使用强索引。 Something like就像是
var result = List<ObjectA>
.OrderBy(t => t.ObjectB.Where(s=>s
.ObjectC
.Where(c => c.ID.Equals("ID"))
.FirstOrDefault().Name)
So, how could I sort List by Name?那么,如何按名称对列表进行排序?
Thanks.谢谢。
It seems that you can leverage using SelectMany
to flatten the nested collections.您似乎可以利用SelectMany
来展平嵌套的 collections。 Should look something like this:应该看起来像这样:
var result = List<ObjectA>
.OrderBy(t => t.ObjectB
.SelectMany(s => s.ObjectC)
.Where(c => c.ID.Equals("ID"))
.FirstOrDefault()?.Name)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.