Miért van az, hogy c#-ban ha lefuttatom a programot akkor a véletlenszámgenerátor nem működik jól, de ha léptetem egyesével a kódot, akkor jól működik?
hát mert igy kell..
int a;
Random a1=new Random();
a=a1.Next(1,100+1);
Hát gondoltam alap, hogy jól írom be. Ez volt:
Random rnd = new Random();
ertek = rnd.Next(3);
és valamiért ha egyesével léptetem akkor jól működik, ha meg nem, akkor egymás után csomószor ugyanazt az értéket adja vissza. Ennek semmi értelme!
mi az h next(3) he ?
next(mettől,meddig+1)
A random ojektumot ugye csak 1x hozod létre? Ennek így l kéne működnie:
Random a1=new Random();
a=a1.Next(1,100+1);
a=a1.Next(1,100+1);
a=a1.Next(1,100+1);
a=a1.Next(1,100+1);
a=a1.Next(1,100+1);
(minden lépésnál más lesz az a értéke)
Ha minden Next hívás előtt új Random objektumot hozol létre, akkor jó hogy ugyanazt az értkéket kapod, mert ez csak pszeudo random, amit az időből számított seed-del inicializál.
Random a1=new Random();
a=a1.Next(1,100+1);
b=a1.Next(1,100+1);
c=a1.Next(1,100+1);
d=a1.Next(1,100+1);
e=a1.Next(1,100+1);
így kell és elvileg 5 különböző számot kapsz.. de akkor már for cilus.. úgy egyszerűbb
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!