Zufälliges Element aus Array auswählen in C#?

2 Antworten

Gleichverteilt:

Random rnd;
// rnd initialisieren
// sonstiger Code
thatArray[rnd.Next(thatArray.Length)] // do something with this expression

Andere Wahrscheinlichkeitsverteilung:

Random rnd;
ProbabilityDistribution<int> distr; // or "uint", "long", or "ulong" instead of "int"
// initialize rnd
// other code
// initialize distr corresponding to thatArray.Length
thatArray[distr.Quantile(rnd.NextDouble())] // do something with this expression

(wobei die Klasse ProbabilityDistribution natürlich geeignet implementiert sein muss, z. B. durch eine einschlägige Bibliothek)

Woher ich das weiß:Berufserfahrung – Software-Entwickler

var variable = deinArray[new Random().Next(von, bis)];


Gamer20095590 
Beitragsersteller
 27.05.2022, 17:15

geht bei mir irgendwie nicht

0
FaTech  27.05.2022, 17:31
@Gamer20095590

Geht nicht ist super beschrieben... Kannst du sagen, was nicht geht?

1
PWolff  27.05.2022, 18:13
@Gamer20095590

Du musst schon die programmspezifischen Namen ("variable", "deinArray", "von", "bis") durch die Namen ersetzen, die du tatsächlich verwendest (und in der Frage nicht angegeben hast, also beschwer dich nicht).

0