Why is the System.Random class not static?

You wouldn’t be able to use different seeds if it were static – the Random instance keeps track of that state.
By default Random uses the current time as seed, but re-using a particular seed (i.e. new Random(42)) allows you to exactly repeat the sequence of random numbers – they will always be the same for the same seed. This aspect is very important in some applications. For example, Minecraft.

Leave a Comment