LINQ:建立子集的強大工具
資料運算通常需要將大型集合分割成更小的、可管理的子集。 LINQ(語言整合查詢)為此常見任務提供了一個優雅且有效率的解決方案。
LINQ 解
以下 LINQ 擴充方法有效地將集合拆分為多個子集:
<code class="language-csharp">public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> list, int parts) { int i = 0; var splits = from item in list group item by i++ % parts into part select part.AsEnumerable(); return splits; }</code>
此方法接受一個集合 (list
) 和所需數量的子集 (parts
)。 它利用 LINQ 的 GroupBy
和 Select
運算子對輸入進行分區。模運算子 (%
) 確保子集之間的均勻分佈,處理集合大小不能完全被 parts
整除的情況。
實際應用
以下是如何使用Split
方法:
<code class="language-csharp">List<int> numbers = Enumerable.Range(1, 100).ToList(); IEnumerable<IEnumerable<int>> splitNumbers = numbers.Split(5);</code>
此範例將 100 個整數的清單分成 5 個子集。 請注意,如果原始集合的大小不是 parts
.
LINQ 方法的好處
使用 LINQ 來完成此任務有幾個關鍵優勢:
以上是如何使用 LINQ 有效地將集合拆分為子集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!