Permalänk
Medlem

c# Random

Hej.

Satt och labbade lite löst och stötte på en sak som jag inte riktigt blev klok på.

Random rnd = new Random(); int x = rnd.Next(1,41);

Om jag loopar igenom denna ett par gånger och direkt skriver ut resultatet, hur kan då värdet 0 skrivas ut?
Argumenten min och max är ju satta till 1 och 41, vilket i mitt tycke borde ge värden i spannet 1 till 40.

Eller har jag helt fel här?

Visa signatur

- none -

Permalänk
Medlem

Du har rätt i att spannet är fr.o.m. 1 t.o.m. 40, så x ska aldrig kunna bli 0. Så du har troligtvis något fel i den kod du inte visar, för Random är ju en standard-klass som garanterat fungerar som den ska.

Permalänk
Medlem

Dumma mig, du har helt rätt.
När jag skulle sätta värden i en array mha random, hade jag missat att min koll på om värdet redan fanns, ej gjorde något nytt försök på samma index, vilket innebar att visa index sattes det inget värde på.

Tack.

Visa signatur

- none -