Heim > Backend-Entwicklung > C++ > Wie wähle ich N zufällige Elemente aus einer C#-Liste aus?

Wie wähle ich N zufällige Elemente aus einer C#-Liste aus?

Linda Hamilton
Freigeben: 2025-01-18 00:37:09
Original
820 Leute haben es durchsucht

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

Zufällige Auswahl von N Elementen aus einer C#-Liste

Dieser Artikel zeigt, wie man mithilfe von LINQ effizient eine zufällige Teilmenge von Elementen aus einem C# List<T> auswählt. Die effektivste Methode kombiniert OrderBy und Take.

Hier ist der Code:

<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>
Nach dem Login kopieren

Dieser Code funktioniert wie folgt:

  1. OrderBy(x => Guid.NewGuid()): Dadurch wird die Liste gemischt, indem jedem Element eine eindeutige, zufällig generierte GUID als Sortierschlüssel zugewiesen wird.

  2. Take(3): Dadurch werden die ersten drei Elemente aus der gemischten Liste ausgewählt, sodass Sie effektiv drei zufällig ausgewählte Elemente erhalten.

Dieser Ansatz bietet eine präzise und effiziente Möglichkeit, eine zufällige Teilmenge aus Ihrer Liste zu erhalten, ohne dass eine komplexe benutzerdefinierte Randomisierungslogik implementiert werden muss.

Das obige ist der detaillierte Inhalt vonWie wähle ich N zufällige Elemente aus einer C#-Liste aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage