首頁 >後端開發 >C++ >LINQ 的 SelectMany() 方法如何展平嵌套的整數列表?

LINQ 的 SelectMany() 方法如何展平嵌套的整數列表?

Patricia Arquette
Patricia Arquette原創
2025-01-26 15:36:09368瀏覽

How Can LINQ's SelectMany() Method Flatten a Nested List of Integers?

使用 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn