I found this initialization of a Random instance:
var random = new Random(unchecked(Environment.TickCount * 31));
Why not simply use new Random()?
I found this initialization of a Random instance:
var random = new Random(unchecked(Environment.TickCount * 31));
Why not simply use new Random()?
 
    
     
    
    The keyword unchecked prevents an exception from being thrown when the calculation Environment.TickCount * 31 integer overflows.
The resulting calculation is essentially a random integer (it throws away a bunch of high-order bits), which is used to seed the random number generator.
Note that the Reference Source for Random has this code as its parameterless constructor:
public Random() 
    : this(Environment.TickCount) {
  }
 
    
    