ホームページ > バックエンド開発 > C++ > C# リストから N 個のランダムな要素を選択するには?

C# リストから N 個のランダムな要素を選択するには?

Linda Hamilton
リリース: 2025-01-18 00:37:09
オリジナル
820 人が閲覧しました

How to Select N Random Elements from a C# List?

C# リストから N 項目をランダムに選択する

この記事では、LINQ を使用して C# List<T> から項目のランダムなサブセットを効率的に選択する方法を示します。 最も効果的な方法は、OrderByTake を組み合わせたものです。

コードは次のとおりです:

<code class="language-csharp">using System;
using System.Collections.Generic;
using System.Linq;

public class RandomElementSelector
{
    public static void Main(string[] args)
    {
        // Sample list of strings
        List<string> names = new List<string>() { "John", "Mary", "Bob", "Alice", "Tom", "Sarah" };

        // Select 3 random elements
        var randomSelection = names.OrderBy(x => Guid.NewGuid()).Take(3);

        // Output the results
        Console.WriteLine("Randomly selected elements:");
        foreach (string name in randomSelection)
        {
            Console.WriteLine(name);
        }
    }
}</code>
ログイン後にコピー

このコードは次のように動作します:

  1. OrderBy(x => Guid.NewGuid()): 各要素にランダムに生成された一意の GUID を並べ替えキーとして割り当てて、リストをシャッフルします。

  2. Take(3): これにより、シャッフルされたリストから最初の 3 つの要素が選択され、実質的に 3 つのランダムに選択された項目が得られます。

このアプローチは、複雑なカスタムランダム化ロジックを実装する必要なく、リストからランダムなサブセットを取得するための簡潔かつ効率的な方法を提供します。

以上がC# リストから N 個のランダムな要素を選択するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート