System.Random クラスを使うと擬似乱数を発生させることができます。
コンストラクタには引数なしのものと、Integer 型の引数を1つ取るものとがあり、前者は時刻から算出したシード値で
乱数系列を初期化、後者は指定した引数をシード値として乱数系列を初期化します。
複数の乱数クラスを作成してもシード値が同じ場合、乱数系列も同じになりますので発生する乱数は同じになります。
下の例では Next メソッドと NextDouble メソッドを使って乱数を発生させています。
<STAThread()> _
Sub Main()
Dim random As New System.Random
Console.WriteLine("Integer型の乱数")
For i As Integer = 0 To 4
Console.WriteLine(" {0,10}", random.Next())
Next i
Console.WriteLine()
Console.WriteLine("Double型の乱数")
For i As Integer = 0 To 4
Console.WriteLine(" {0:F8}", random.NextDouble())
Next i
Console.WriteLine()
Console.WriteLine("1~100までの乱数")
For i As Integer = 0 To 4
Console.WriteLine(" {0,10}", System.Math.Floor(random.NextDouble() * 100 + 1))
Next i
このコードを実行すると次のような結果になります。
Integer型の乱数
910472954
1601460947
1582016879
67969807
1330355321
Double型の乱数
0.91808986
0.57720366
0.31978332
0.98888294
0.64040147
0~100までの乱数
31
76
51
99
42