Start Debugging

C# Zufällig Elemente aus einer Liste auswählen

In C# können Sie mit Random.GetItems, einer in .NET 8 eingeführten Methode, zufällig Elemente aus einer Liste auswählen. Lernen Sie, wie es mit praktischen Beispielen funktioniert.

In C# können Sie mit Random.GetItems, einer in .NET 8 eingeführten Methode, zufällig Elemente aus einer Liste auswählen.

public T[] GetItems<T>(T[] choices, int length)

Die Methode nimmt zwei Parameter entgegen:

Bei dieser Methode sind zwei wichtige Dinge zu beachten:

Vor diesem Hintergrund sehen wir uns einige Beispiele an. Nehmen wir folgendes Array an Auswahlmöglichkeiten an:

string[] fruits =
[
    "apple",
    "banana",
    "orange",
    "kiwi"
];

Um 2 zufällige Früchte aus dieser Liste auszuwählen, rufen wir einfach auf:

var chosen = Random.Shared.GetItems(fruits, 2);

Wie zuvor erwähnt, sind die beiden ausgewählten Früchte nicht zwangsläufig eindeutig. Sie könnten beispielsweise [ "kiwi", "kiwi" ] als Ihr chosen-Array erhalten. Sie können dies leicht mit einem do-while testen:

string[] chosen = null;

do
    chosen = Random.Shared.GetItems(fruits, 2);
while (chosen[0] != chosen[1]);

// At this point, you will have the same fruit twice

Und dies eröffnet der Methode die Möglichkeit, mehr Elemente auszuwählen, als Sie tatsächlich in der Liste haben. In unserem Beispiel stehen nur 4 Früchte zur Auswahl, aber wir können GetItems bitten, 10 Früchte für uns auszuwählen, und sie wird das problemlos tun.

var chosen = Random.Shared.GetItems(fruits, 10);
// [ "kiwi", "banana", "kiwi", "orange", "apple", "orange", "apple", "orange", "kiwi", "apple" ]

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Zurück