簡體   English   中英

LINQ 選擇嵌套列表上的表達式

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM