Generating random numbers
Sometimes you need to generate random numbers, perhaps in a game that simulates rolls of a die, or for use with cryptography in encryption or signing. There are a couple of classes that can generate random numbers in .NET.
Generating random numbers for games and similar apps
In scenarios that don’t need truly random numbers, like games, you can use a shared instance of the Random
class or create an instance of the Random
class, as shown in the following code example:
Random r1 = Random.Shared; // Thread-safe
Random r2 = new(); // NOT thread-safe
Random
has a constructor with a parameter for specifying a seed value used to initialize its pseudo-random number generator, as shown in the following code:
Random r = new(Seed: 46378);
Good Practice: Shared seed values act as a secret key, so if you use the same random number generation algorithm with the same seed value in two applications, then they can generate the same...