Генериране на случайни числа в C #

Генератор на случайни числа в C #

Генериране на случайни числа в C #

Къде може да се наложи случайни числа, но всъщност можете да цитират като пример много случаи, например, криптография, или механизми за разрешаване на различни конфликти. Повярвайте ми, рано или късно, трябва да сте с такова лице, ако то не е трябвало да, просто прочетете тази статия. За щастие, C # генератор на случайни числа, разработен от нас, и единственото нещо, което ние трябва да бъдем по-голямата част от случаите, това е просто правото да го използва. И така, да се генерират случайни числа в програми, написани на C #, е класа на «Разни».

Както можете да видите - нищо сложно! На първо място, да създаде обект от тип «Разни». след това се обадете неговия метод «Следваща». в резултат на това и получаваме случайни числа. Ако се обадите на метод «Следваща» няколко пъти, ние получаваме различни номера. Този код ще ни даде четири различни, случайни числа:

А сега, нека малко да усложни проблема, представете си, че трябва да се получи случайно число в определен диапазон. Но тази задача е много проста:

Както можете да видите, и това се прави от едно щракване! За да направите това, ние просто се нарича «Следваща» метод с два параметъра, като първият от които отговаря на долната граница на диапазона, а втората - на върха.

Между другото, можете да ограничите само горната граница на диапазона, той трябва да се обадите на «Следваща» метод с един параметър, който означава горната граница.

Но това не е всичко, има още едно важно нещо, което, всъщност, генератор на случайни номера е генератор на псевдослучайни числа, т.е. номер, който го връща не са чисто случаен принцип, те са "произведени" от определени и ясни закони, и "случайност" зависи от подготовката за работа на обекта, който генерира номера ( «Разни» клас обект). В горните примери, ние използвахме конструктор по подразбиране, и в този случай (очевидно), "първоначална стойност", определена от системата, както и въз основа на системното време. Но ние можем да попитам е "най-първоначалната стойност" и това:

Просто имайте предвид, първоначалната стойност се използва за генериране на числа, но не и за връщането на първия ден, т.е. първо генериран номер няма да бъде това, което е посочено при създаването на обект.

Така че, ако два (или повече) различни обекти «Разни» клас ще бъдат еднакво инициализира, а след това те ще се върнат и същ номер, например, следния код ще покаже в конзолата същите три числа:

Както можете да видите, независимо от факта, че всеки път, когато ти се обадя «GetRandom» метод създава обект за генериране на случайни числа, тези обекти се инициализират с една и съща стойност. Така че, бъдете внимателни!