RandomNumberGeneratorから整数形式の乱数を生成したい場合は、GetInt32メソッドを使うことができます。 このメソッドは静的メソッドであるため、インスタンスを生成せずに使用することができますが、逆に特定の乱数ジェネレーターインスタンスに対して使用することができません。 GetInt32メソッドは.NET Standard 2.1/.NET Core 3.0以降で使用することができます。
GetInt32メソッドでは、Random.Nextメソッドと同様に、生成したい乱数の値域を指定します。 GetInt32メソッドでは次の2つのオーバーロードが用意されていて、いずれも得られる乱数の範囲は半開区間(n以上m未満)となっています。
- GetInt32(toExclusive)
- 0以上・toExclusive未満の乱数を取得する。 [0, toExclusive)
- GetInt32(fromInclusive, toExclusive)
- fromInclusive以上・toExclusive未満の乱数を取得する。 [fromInclusive, toExclusive)
引数fromInclusive, toExclusiveは、どちらも負数を指定することができ、負の整数乱数を生成することもできます。
RandomNumberGenerator.GetInt32メソッドで整数の乱数を生成する .NET Standard 2.1/.NET Core 3.0
Imports System
Imports System.Security.Cryptography
Class Sample
Shared Sub Main()
' 1〜6までの整数乱数を20個生成して表示する
For i As Integer = 1 To 20
Console.Write("{0}, ", RandomNumberGenerator.GetInt32(1, 6 + 1))
Next
Console.WriteLine()
End Sub
End Class
実行結果の一例
3, 1, 2, 4, 6, 1, 2, 3, 4, 2, 2, 4, 4, 5, 5, 2, 3, 2, 5, 5,