使用LINQ將集合分割成子集
LINQ允許將集合分割成指定數量的子集。與平均分割不同,最後一個子集的元素數量可能與其他子集不同。
為了實現這一點,我們可以使用一個簡單的LINQ擴充方法:
<code class="language-csharp">static class LinqExtensions { 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>
使用此方法,您可以將集合分成子集合,同時確保最後一個子集的大小可能不同。上述程式碼透過根據元素索引模除子集數量進行分組來實現此目的,有效地將它們分配到不同的子集。
以上是如何使用 LINQ 將集合拆分為(幾乎)相同大小的子集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!