LINQを使用して、リストをサブリストのリストに分割します
プログラミングでは、リストをサブリストに分割するのが一般的な操作です。 C#では、効率的な方法は、LINQ(言語統合クエリ)関数を使用することです。リストを等しいサイズのサブリストに分割する方法について説明しましょう。
オブジェクトのリストを3つのサイズのサブリストに分割する必要があると仮定します。このためには、次のコードを使用できます。
このコードは、最初にリスト内の各要素をインデックスに関連付けます。その後、3つの結果からインデックスの結果に基づいて要素を支払いました。このグループは、同じサイズのリストを作成します。最後に、各グループの値をリストのリストに抽出します。
<code class="language-csharp">public static List<List<T>> Split<T>(IList<T> source) { return source .Select((x, i) => new { Index = i, Value = x }) .GroupBy(x => x.Index / 3) .Select(x => x.Select(v => v.Value).ToList()) .ToList(); }</code>このプロセスを説明するために、次の元のリストがあると仮定しましょう。
分割関数を呼び出すことにより、3つの要素の各グループは、結果のリストのリストに単一のリストに保存されます。
resultListには、次のリストが含まれます
<code class="language-csharp">List<string> originalList = new List<string> { "a", "g", "e", "w", "p", "s", "q", "f", "x", "y", "i", "m", "c" };</code>
LINQのシンプルで効率的な構文を使用して、リストを指定されたサイズのサブリストに簡単に分割する方法を示しました。この方法は、さまざまなデータ操作シナリオの一般的なソリューションを提供します。
以上がLINQを使用して、リストを同じサイズのサブリストに効率的に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。