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 のグループ化機能を利用します。 モジュロ演算子 (%) を使用して、必要な数の parts
に要素を均等に分配します。出力は IEnumerable
の IEnumerable<T>
で、内側の各 IEnumerable<T>
は元のコレクションの一部を表します。
以上がLINQ を使用してコレクションを適切な部分に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。