title: Best way to seed Random() in singleton
body: <p>I have a method in a singleton class that need to use the .NET System. <code>Random()</code>, since the method is called in a multi-threaded environment I can't create it only once and declare it statically, but I have to create a <code>Random()</code> object each time the method is called. Since <code>Random()</code> default seed is based on the clock ticks it is not random enough in my senario. To create a better seed I have looked into several methods and have figured the following one is the best, but there may be other (faster/better) ways of doing this that I would like to know about.</p>
  
  <pre><code>Random rnd = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0));
  </code></pre>