Generarea de numere aleatoare în C #

generarea de numere aleatoare în C #

Generarea de numere aleatoare în C #

În cazul în care putem avea nevoie de numere aleatoare, dar de fapt, puteți cita ca exemplu o mulțime de cazuri, de exemplu, criptografie, sau mecanisme pentru a rezolva diverse conflicte. Crede-mă, mai devreme sau mai târziu, trebuie să aveți cu o astfel de față, în cazul în care nu a trebuit să citiți doar acest articol. Din fericire, C # generator de numere aleatoare dezvoltat de noi, și singurul lucru pe care trebuie să fim, în majoritatea cazurilor, este pur și simplu dreptul să-l folosească. Și astfel, pentru a genera numere aleatoare în programe scrise în C #, este clasa de «Aleator».

Dupa cum se poate vedea - nimic complicat! În primul rând, de a crea un obiect de tip «aleatoare». apoi apel metoda lui «Next». ca urmare, și vom obține un număr aleatoriu. Dacă ne numim metoda «Next» de câteva ori, vom obține numere diferite. Acest cod ne va da patru numere diferite, aleatoare:

Și acum, să ne un pic complicat problema, imaginați-vă că avem nevoie pentru a obține un număr aleatoriu într-un anumit interval. Dar această sarcină este destul de simplu:

După cum puteți vedea, iar acest lucru se face printr-o clipă! Pentru a face acest lucru, tocmai am numit «Next» metoda cu doi parametri, dintre care prima reprezintă limita inferioară a intervalului, iar al doilea - în partea de sus.

Apropo, puteți restricționa doar limita superioară a intervalului, trebuie să numim «Următorul» metoda cu un singur parametru, care reprezintă limita superioară.

Dar asta nu e tot, mai este un lucru important, de fapt, generatorul de numere aleatoare este un generator de numere pseudo-aleatoare, și anume număr care returnează nu sunt pur întâmplătoare, ele sunt „produse“ de un anumit legi și clare, și „dezordine“ depinde de inițializarea obiectului care generează numărul ( «Aleator» clasă de obiecte). În exemplele de mai sus, am folosit constructorul implicit, și în acest caz (aparent), „valoarea inițială“, definită de către sistem, și se bazează pe ora sistemului. Dar putem cere este cel mai „valoarea inițială“ și ei înșiși:

Doar nota, valoarea inițială este utilizată pentru a genera numere, dar nu și pentru întoarcerea în prima zi, și anume primul număr generat nu va fi ceea ce este specificat la crearea unui obiect.

Deci, în cazul în care două (sau mai multe) obiecte diferite «aleatoare» clasa va fi inițializat în mod egal, iar apoi se vor întoarce același număr, de exemplu, următorul cod se va afișa în consola aceleași trei numere:

După cum puteți vedea, în ciuda faptului că de fiecare dată când suni «GetRandom» metodă creează un obiect pentru a genera numere aleatoare, aceste obiecte sunt inițializate la aceeași valoare. Deci, fii atent!