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>
Dieser Code funktioniert wie folgt:
OrderBy(x => Guid.NewGuid())
: Dadurch wird die Liste gemischt, indem jedem Element eine eindeutige, zufällig generierte GUID als Sortierschlüssel zugewiesen wird.
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!