[英]LINQ Select Expression on nested list
我將如何使用 Linq 遍歷嵌套列表?
我有一個嵌套列表,如下所示:
var bookings = new List<List<Booking>>();
在 Booking 類中是預訂詳細信息,例如
我想遍歷每個單獨的列表並提取使用 Linq 嵌套的列表,但我正在努力做到這一點:(
我不確定我應該對 Linq 使用什么方法,我試過使用 SelectMany,但我認為我對它的理解不夠好。
如果您嘗試使用SelectMany
使列表變平:
bookings.SelectMany((list) => list);
如果您嘗試提取每個單獨的列表:
bookings.ForEach((list) => {
// Do something with the nested list
});
如果您嘗試過濾嵌套列表,但要維護這些列表:
bookings.Select((list) => list.Where((item) => item.Price > 20));
等等。
SelectMany
期望匝的每個項目在列表成一個函數IEnumerable<T>
然后變平所得到IEnumerable<T>
的IEnumerable<T>
s轉換為IEnumerable<T>
通過將SelectMany
與標識函數(list) => list
您實際上SelectMany
(list) => list
每個項目做任何事情——它們已經是IEnumerable<T>'s
,因此不需要任何進一步的轉換——然后SelectMany
將隨后平坦化所得IEnumerable<T>
的IEnumerable<T>
秒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.