Ich konnte eine Funktion schreiben, die "eindeutige & & zufällige" Ganzzahlen innerhalb eines Bereichs generieren kann. Aber das in n . Ich benutze es für 6 zufällige Eingänge an einem Ort und 30 zufällige Eingänge an anderen, also wie können wir es verbessern, wenn es nötig ist, es zu verbessern?Wie erzeugt man effizient N zufällige Ints von 0 bis num in C#?
private int[] genRands(int max, int totalRandomIntsRequired)
{
int[] nums = new int[totalRandomIntsRequired];
Random r = new Random();
for (int i = 0; i < totalRandomIntsRequired; i++)
{
nums[i] = r.Next(0, max + 1);
for (int j = i; j >= 0; j--)
{
if(nums[i] == nums[j])
{
nums[i] = r.Next(0, max + 1);
}
}
}
return nums;
}
Warum Looping Sie zweimal? – Steve
Verwenden Sie kein Array zum Speichern der bereits erstellten Werte. – Steve
oh sorry, ich dachte, es würde mich über jeden Kommentar informieren. Ich wiederhole zweimal, um zu prüfen, ob es irgendwelche Duplikate gibt. Was soll ich anstelle von Array dann @Steve verwenden? –