[英]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.