Kaip C# kalba sukurti atsitiktinį sveikąjį skaičių?
Atsitiktiniams skaičiams kurti naudojama Random
klasė. (Žinoma, pseudoatsitiktiniai.).
Pavyzdys:
Random rnd = new Random();
int month = rnd.Next(1, 13); // creates a number between 1 and 12
int dice = rnd.Next(1, 7); // creates a number between 1 and 6
int card = rnd.Next(52); // creates a number between 0 and 51
Jei ketinate sukurti daugiau nei vieną atsitiktinį skaičių, turėtumėte išsaugoti Random
egzempliorių ir naudoti jį pakartotinai. Jei naujas instancijas sukursite per arti laiko, jos sukurs tą pačią atsitiktinių skaičių seriją, nes atsitiktinių skaičių generatorius maitinamas iš sistemos laikrodžio.
Atkreipkite dėmesį, kad new Random()
yra paremtas dabartine laiko žyma.
Jei norite sugeneruoti tik vieną skaičių, galite naudoti:
Toliau( int.MinValue, int.MaxValue )` `
Daugiau informacijos rasite Random klasėje, tačiau atkreipkite dėmesį:
Tačiau, kadangi laikrodis turi baigtinę skiriamąją gebą, naudojant beparametrinį konstruktorių skirtingiems "Random" objektams sukurti iš eilės, sukuriami atsitiktinių skaičių generatoriai, duodantys identiškas atsitiktinių skaičių sekas
Taigi nenaudokite šio kodo atsitiktinių skaičių serijoms generuoti.