Random.NextBytes メソッド

定義

オーバーロード

名前 説明
NextBytes(Byte[])

指定したバイト配列の要素に乱数を入力します。

NextBytes(Span<Byte>)

指定したバイトスパンの要素に乱数を入力します。

NextBytes(Byte[])

ソース:
Random.cs
ソース:
Random.cs
ソース:
Random.cs
ソース:
Random.cs
ソース:
Random.cs

指定したバイト配列の要素に乱数を入力します。

public:
 virtual void NextBytes(cli::array <System::Byte> ^ buffer);
public virtual void NextBytes(byte[] buffer);
abstract member NextBytes : byte[] -> unit
override this.NextBytes : byte[] -> unit
Public Overridable Sub NextBytes (buffer As Byte())

パラメーター

buffer
Byte[]

乱数で埋める配列。

例外

buffernullです。

次の例では、 NextBytes メソッドを使用して、バイト配列にランダムなバイト値を入力する方法を示します。

Random rnd = new Random();
Byte[] b = new Byte[10];
rnd.NextBytes(b);
Console.WriteLine("The Random bytes are: ");
for (int i = 0; i <= b.GetUpperBound(0); i++)
    Console.WriteLine("{0}: {1}", i, b[i]);

// The example displays output similar to the following:
//       The Random bytes are:
//       0: 131
//       1: 96
//       2: 226
//       3: 213
//       4: 176
//       5: 208
//       6: 99
//       7: 89
//       8: 226
//       9: 194
Public Class Example
    Public Shared Sub Main()
        Dim rnd As New Random()
        Dim b(9) As Byte
        rnd.NextBytes(b)
        Console.WriteLine("The Random bytes are: ")
        For i As Integer = 0 To b.GetUpperBound(0)
            Console.WriteLine("{0}: {1}", i, b(i))
        Next
    End Sub 
End Class 
' The example displays output similar to the following:
'       The Random bytes are:
'       0: 131
'       1: 96
'       2: 226
'       3: 213
'       4: 176
'       5: 208
'       6: 99
'       7: 89
'       8: 226
'       9: 194

注釈

バイト配列の各要素は、0 以上、 MaxValue以下の乱数に設定されます。

たとえば、ランダム なパスワードの作成に適した暗号で保護された乱数を生成するには、 RNGCryptoServiceProvider.GetBytesなどの方法を使用します。

注意 (継承者)

.NET Framework バージョン 2.0 以降では、Random からクラスを派生させ、Sample() メソッドをオーバーライドした場合、Sample() メソッドの派生クラス実装によって提供されるディストリビューションは、NextBytes(Byte[]) メソッドの基底クラス実装の呼び出しでは使用されません。 代わりに、基本 Random クラスによって返される均一分布が使用されます。 この動作により、 Random クラスの全体的なパフォーマンスが向上します。 派生クラスの Sample() メソッドを呼び出すようにこの動作を変更するには、 NextBytes(Byte[]) メソッドもオーバーライドする必要があります。

こちらもご覧ください

適用対象

NextBytes(Span<Byte>)

ソース:
Random.cs
ソース:
Random.cs
ソース:
Random.cs
ソース:
Random.cs
ソース:
Random.cs

指定したバイトスパンの要素に乱数を入力します。

public:
 virtual void NextBytes(Span<System::Byte> buffer);
public virtual void NextBytes(Span<byte> buffer);
abstract member NextBytes : Span<byte> -> unit
override this.NextBytes : Span<byte> -> unit
Public Overridable Sub NextBytes (buffer As Span(Of Byte))

パラメーター

buffer
Span<Byte>

乱数で埋める配列。

注釈

バイトスパンの各要素は、0 以上、 MaxValue以下の乱数に設定されます。

適用対象