虛擬亂數是以相等的機率從有限的數字集中選取。選取的數字並非是完全隨機,因為是使用有限性數學演算法來選取它們,但是用於實際用途已足夠。目前 Random 類別的實作是以 Donald E. Knuth 的減法亂數產生器演算法為基準。如需詳細資訊,請參閱 D. E. Knuth. "The Art of Computer Programming, volume 2: Seminumerical Algorithms". Addision-Wesley, Reading, MA, second edition, 1981。
亂數的產生始於種子值。如果重複使用相同的種子會產生相同的連續數字。其中一個產生不同序列的方法是讓種子值時間相依,由此以每個 Random 的新執行個體 (Instance) 產生不同的系列。
若要改善效能,則要建立一個 Random 以在一段時間內產生許多亂數,而不要重複地建立新的 Random 以產生一個亂數。
例如,若要產生密碼學上適用於建立隨機密碼的安全亂數,則使用從 System.Security.Cryptography.RandomNumberGenerator 衍生的類別,例如 System.Security.Cryptography.RNGCryptoServiceProvider。