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
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren, C Sharp
var variable = deinArray[new Random().Next(von, bis)];
FaTech
27.05.2022, 17:31
@Gamer20095590
Geht nicht ist super beschrieben... Kannst du sagen, was nicht geht?
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).
geht bei mir irgendwie nicht