Рандом си шарп диапазон

Generate Random Numbers in C#

Here you will learn how to generate random numbers in C#.

C# provides the Random class to generate random numbers based on the seed value. Use the following methods of the Random class to generate random numbers.

Method Description
Next() Returns a positive random integer within the default range -2,147,483,648 to 2,147,483, 647.
Next(int) Returns a positive random integer that is less than the specified maximum value.
Next(int, int) Returns a positive random integer within the specified minimum and maximum range (includes min and excludes max).
NextDouble() Generates random floating-point number that is greater than or equal to 0.0 and less than 1.0.
NextByte() Fills the specified array with the random bytes.

The following example demonstrates how to generate a random integers.

Random rnd = new Random(); int num = rnd.Next(); 

Call the Next() method multiple times to get the multiple random numbers, as shown below.

Random rnd = new Random(); for (int j = 0; j
1342905725 1212164411 1300310820 1963559478 

Generate Random Numbers in Range

Use the Next(int) method overload to generate a random integer that is less than the specified maximum value.

The following example generates the positive random numbers that are less than 10.

Random rnd = new Random(); for (int j = 0; j < 4; j++) < Console.WriteLine(rnd.Next(10));//returns random integers

Generate Random Number in Min to Max Range

Use the Next(int min, int max) overload method to get a random integer that is within a specified range.

Random rnd = new Random(); for(int j = 0; j < 4; j++) < Console.WriteLine(rnd.Next(10, 20)); // returns random integers >= 10 and

In the above example, rnd.Next (10, 20) generate random numbers that will be between 10 to 19.

Читайте также:  Windows php zend extension

Generate Random Floating Point Number

Use the NextDouble() method to get a random floating-point number between 0.0 to 1.0, as shown below.

Random rnd = new Random(); for(int j = 0; j
0.950496411859289 0.751511535491567 0.757902594170488 0.692590497290991 

Generate Random Bytes

Use the NextBytes() method to generate a series of byte values. Pass an array to fill the number of byte values.

The following example shows how to generate a random number using NextBytes() method:

Random rnd = new Random(); byte[] randomBytes = new byte[4]; rnd.NextBytes(randomBytes); foreach (byte val in randomBytes)

Seed Value

The Random class uses the seed value as a starting value for the pseudo-random number generation algorithm. By default, the Random class uses the system clock to generate its seed value so that each instance of the Random class can generate different random numbers.

Two different instances of the Random class having the same seed value will generate the same random numbers, as shown below.

Random rnd1 = new Random(10); //seed value 10 for (int j = 0; j < 4; j++)< Console.WriteLine(rnd1.Next()); >Console.WriteLine("Using another object"); Random rnd2 = new Random(10);//seed value 10 for (int j = 0; j
2041175501 1613858733 Using another object 2041175501 1613858733 

In the above example, two different objects of the Random class are instantiated with the same seed value. So, they will generate the same random numbers.

By default, the seed value is time-dependent. In .NET Core, the default seed value is produced by the thread-static, pseudo-random number generator.

  • How to get the sizeof a datatype in C#?
  • Difference between String and StringBuilder in C#
  • Static vs Singleton in C#
  • Difference between == and Equals() Method in C#
  • Asynchronous programming with async, await, Task in C#
  • How to loop through an enum in C#?
  • Difference between Two Dates in C#
  • Convert int to enum in C#
  • BigInteger Data Type in C#
  • Convert String to Enum in C#
  • Convert an Object to JSON in C#
  • Convert JSON String to Object in C#
  • DateTime Formats in C#
  • How to convert date object to string in C#?
  • Compare strings in C#
  • How to count elements in C# array?
  • Difference between String and string in C#.
  • How to get a comma separated string from an array in C#?
  • Boxing and Unboxing in C#
  • How to convert string to int in C#?

tutorialsteacher.com is a free self-learning technology web site for beginners and professionals.

Источник

Рандом си шарп диапазон

  • Главная
  • C#
    • Базовый курс C#
      • Глава 1. Самое начало
      • Глава 2. Основы ООП
      • Глава 3. WinFroms
      • Начало
      • Окружение
      • Структура программы
      • Основы синтаксиса
      • Типы данных
      • Преобразование типов данных

      Генерация случайных чисел в C#

      Доброго времени суток! Эта статья носит практический характер и в ней я расскажу о том, как использовать генератор случайных чисел в C# и для чего это Вам может пригодиться. Хотя, если на чистоту, то речь пойдет о генераторе псевдослучайных чисел…

      Где нам могут понадобиться случайные числа, да на самом деле можно привести в пример много случаев, например, криптография, или механизмы разрешения различных коллизий. Поверьте, рано или поздно Вам с такой необходимостью придется столкнуться, если уже не пришлось, раз читаете эту статью. К счастью, в C# генератор случайных чисел разработан до нас, и единственное что нам нужно будет, большинстве случаев, это просто правильно им пользоваться. И так, для генерации случайных чисел в программах, написанных на C#, предназначен класс «Random».

      //Создание объекта для генерации чисел Random rnd = new Random(); //Получить очередное (в данном случае - первое) случайное число int value = rnd.Next(); //Вывод полученного числа в консоль Console.WriteLine(value);

      Как видите — ничего сложного! Сначала создаем объект типа «Random», потом вызываем его метод «Next», в результате чего и получаем случайное число. Если мы вызовем метод «Next» несколько раз, то получим разные числа. Такой код, даст нам четыре разных, случайных числа:

      //Создание объекта для генерации чисел Random rnd = new Random(); int value = rnd.Next(); //Получить очередное случайное число int value1 = rnd.Next(); //Получить очередное случайное число int value2 = rnd.Next(); //Получить очередное случайное число int value3 = rnd.Next(); //Получить очередное случайное число Console.WriteLine(value); //Вывод числа в консоль Console.WriteLine(value1); //Вывод числа в консоль Console.WriteLine(value2); //Вывод числа в консоль Console.WriteLine(value3); //Вывод числа в консоль

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

      //Создание объекта для генерации чисел Random rnd = new Random(); //Получить случайное число (в диапазоне от 0 до 10) int value = rnd.Next(0, 10); //Вывод числа в консоль Console.WriteLine(value);

      Как видите, и это выполняется несложно! Для этого мы всего лишь вызвали метод «Next» с двумя параметрами, первый из которых обозначает нижнюю границу диапазона, а второй — верхнюю.

      Кстати, ограничить можно только верхнюю границу диапазона, для этого нужно вызвать метод «Next» с одним параметром, который и будет обозначать верхнюю границу.

      Но это ещё не всё, есть еще один важный нюанс, на самом деле генератор случайных чисел является генератором псевдослучайных чисел, т.е. числа, которые он возвращает, не являются чисто случайными, они «вырабатываются» по определенным и четким законам, а «случайность» зависит от инициализации объекта, который генерирует числа (объекта класса «Random»). В примерах, приведенных выше, мы использовали конструктор по умолчанию, и в таком случае (судя по всему), «начальное значение» задается системой, и на основании системного времени. Но мы может задавать это самое «начальное значение» и сами:

      //Создание объекта для генерации чисел (с указанием начального значения) Random rnd = new Random(245); //Получить случайное число int value = rnd.Next();

      Только обратите внимание, начальное значение используется для генерации чисел, а не для возвращения первого числа, т.е. первое сгенерированное число не будет тем, что указано при создании объекта.

      Так вот если два (или более) разных объекта класса «Random» будут одинаково проинициализированы, то и возвращать они будут одни и те же числа, например, следующий код, выведет в консоль три одинаковых числа:

      class Program < //Этот метод должен возвращать случайное значение static int GetRandom() < //Создание объекта для генерации чисел (с указанием начального значения) Random rnd = new Random(245); //Получить случайное число int value = rnd.Next(); //Вернуть полученное значение return value; >static void Main(string[] args) < //Вывод сгенерированных чисел в консоль Console.WriteLine(GetRandom()); Console.WriteLine(GetRandom()); Console.WriteLine(GetRandom()); >>

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

      Источник

Оцените статью