Randomクラスでは、一つのインスタンスが一つの乱数系列として動作します。 またRandomクラスでは、個々のインスタンスに異なるシード値(seed, 乱数の)を与えることにより、複数の乱数系列を生成することができます。

Randomクラスのコンストラクタでは、乱数系列のシード値を指定することができます。 このとき、同一のシード値を与えた場合は同一の乱数系列となり、同じ乱数を生成します。 これにより、インスタンスを生成したときのシード値を保存しておくことで、そのときと同じ乱数を生成するという使い方もできます。

シード値を指定してRandomクラスのインスタンスを作成する
Imports System

Class Sample
  Shared Sub Main()
    Dim rand1 As New Random(0) ' シード値(0)を与えてインスタンスを作成する
    Dim rand2 As New Random(1)
    Dim rand3 As New Random(1) ' rand2と同じシード値のインスタンスを作成する

    Const format As String = "{0,-6} {1,-6} {2,-6}"

    Console.WriteLine(
      format,
      NameOf(rand1),
      NameOf(rand2),
      NameOf(rand3)
    )

    ' 各インスタンスから乱数を生成して表示する
    For i As Integer = 1 To 15
      Console.WriteLine(
        format,
        rand1.Next(0, 100),
        rand2.Next(0, 100),
        rand3.Next(0, 100)
      )
    Next
  End Sub
End Class
実行結果
rand1  rand2  rand3 
72     24     24    
81     11     11    
76     46     46    
55     77     77    
20     65     65    
55     43     43    
90     35     35    
44     94     94    
97     10     10    
27     64     64    
29     2      2     
46     24     24    
63     32     32    
46     98     98    
98     68     68