使用 LINQ 的 SelectMany() 展平巢狀整數清單
LINQ 查詢通常會產生巢狀集合,例如 IEnumerable<List<int>>
。 SelectMany()
方法有效地將它們扁平化為單一清單。
挑戰:
假設 LINQ 查詢傳回整數清單 (IEnumerable<List<int>>
)。任務是將這些內部清單組合成一個單一的一維List<int>
。
範例:
從這些輸入清單開始:
<code>[1, 2, 3, 4] and [5, 6, 7]</code>
所需的輸出為:
<code>[1, 2, 3, 4, 5, 6, 7]</code>
SelectMany() 的解:
LINQ 的 SelectMany()
簡化了這個過程。 以下是展平巢狀清單的方法:
<code class="language-csharp">var nestedList = new List<List<int>> { new List<int> { 1, 2, 3, 4 }, new List<int> { 5, 6, 7 } }; var flattenedList = nestedList.SelectMany(innerList => innerList).ToList(); </code>
說明:
nestedList
:這代表清單的輸入清單。 SelectMany(innerList => innerList)
:這是解決方案的核心。 SelectMany()
迭代 innerList
中的每個 nestedList
。 lambda 表達式 innerList => innerList
只是將每個內部列表投影到自身上,有效地展開嵌套。 .ToList()
:這會將產生的扁平序列轉換為 List<int>
.這段簡潔的程式碼有效地展平了嵌套列表,提供了所需的一維整數列表。
以上是LINQ 的 SelectMany() 方法如何展平嵌套的整數列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!