[英]c# Linq sort List by member of nested List
我有
List<ObjectA>
ObjectA is a List<ObjectB>
ObjectB is List<ObjectC>
ObjectC 之一是 class 字段 ID(我可以指定)和字段“名称”
var result = List<ObjectA>
.OrderBy(t => t.ObjectB[1]
.ObjectC
.Where(c => c.ID.Equals("ID"))
.FirstOrDefault().Name)
我不想对 ObjectB 使用强索引。 就像是
var result = List<ObjectA>
.OrderBy(t => t.ObjectB.Where(s=>s
.ObjectC
.Where(c => c.ID.Equals("ID"))
.FirstOrDefault().Name)
那么,如何按名称对列表进行排序?
谢谢。
您似乎可以利用SelectMany
来展平嵌套的 collections。 应该看起来像这样:
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.