LINQ を使用して C# リストから項目をランダムに選択する
C# リストからランダムな要素を選択する必要がありますか? この効率的な手法では、LINQ を使用してプロセスを簡素化します。
課題:
List<string>
から、たとえば 3 つのアイテムをランダムに選択する必要があると想像してください。 これを効果的に行うにはどうすればよいですか?
LINQ ソリューション:
LINQ は、OrderBy
と Take
を使用したクリーンなソリューションを提供します。
<code class="language-csharp">YourList.OrderBy(x => rnd.Next()).Take(3);</code>
このコード スニペットは、乱数ジェネレーター (rnd
) を使用してリストをランダムに順序付けし、最初の 3 つの要素を選択します。
仕組み:
OrderBy(x => rnd.Next())
は各要素にランダムな整数を割り当て、効果的にリストをシャッフルします。 Take(3)
は、このシャッフルされたリストの最初の 3 つの要素を抽出し、ランダムな選択を提供します。 このコードを使用する前に、必ず rnd
を Random
オブジェクトとして初期化してください。 例: Random rnd = new Random();
以上がLINQ を使用して C# リストから要素をランダムに選択する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。