SoFunction
Updated on 2025-03-07

Random number function in C#

1. Common operations

  • NextDouble():Returns a random number between 0-1.0
  • Next()Returns non-negative random integer (0-216)
  • Next(i)Returns a non-negative random integer less than i
  • Next(i,j)Generate random integers of i-j
  • NextBytes(byte[])Fill each element of the specified byte array with a random integer (0-255).
 r = new Random();
s1 = ().ToString();//0.868992506465405
s2 = ().ToString();      //1665548020
s3 = (10).ToString();    //5
s4 = (1000, 2000).ToString();//1885
byte[] buffer = new byte[255];
(buffer);
s5 = buffer[254].ToString(); ;//207

2. Seed operation

1. If no random seed is specified, the system clock will generate seeds by default.

If the time interval is too short, multiple different Ramdom objects created will have the same default seed value, thus producing several sets of the same random numbers.

 r1 = new Random();
 r2 = new Random();
(().ToString());// 615672499
(().ToString());// 615672499

Generating all random numbers using a single Random object avoids this problem.

 r = new Random();
(().ToString());// 1933637733
(().ToString());// 1799552041

2. When the seed values ​​are the same, their random sequences are also the same.

 r1 = new Random(1);
 r2 = new Random(1);
 r3 = new Random(2);

byte[] buffer1 = new byte[2];
byte[] buffer2 = new byte[2];
byte[] buffer3 = new byte[2];

(buffer1);
(buffer2);
(buffer3);

s1 = (",", buffer1);// 70,208
s2 = (",", buffer2);// 70,208
s3 = (",", buffer3);// 113,147

This is all about this article about C# generating random numbers. I hope it will be helpful to everyone's learning and I hope everyone will support me more.