Bagikan melalui


Random.NextBytes Metode

Definisi

Overload

NextBytes(Span<Byte>)

Mengisi elemen rentang byte tertentu dengan angka acak.

NextBytes(Byte[])

Mengisi elemen array byte tertentu dengan angka acak.

NextBytes(Span<Byte>)

Sumber:
Random.cs
Sumber:
Random.cs
Sumber:
Random.cs

Mengisi elemen rentang byte tertentu dengan angka acak.

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))

Parameter

buffer
Span<Byte>

Array yang akan diisi dengan angka acak.

Keterangan

Setiap elemen rentang byte diatur ke angka acak yang lebih besar dari atau sama dengan 0 dan kurang dari atau sama dengan MaxValue.

Berlaku untuk

NextBytes(Byte[])

Sumber:
Random.cs
Sumber:
Random.cs
Sumber:
Random.cs

Mengisi elemen array byte tertentu dengan angka acak.

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())

Parameter

buffer
Byte[]

Array yang akan diisi dengan angka acak.

Pengecualian

bufferadalah null.

Contoh

Contoh berikut menunjukkan cara menggunakan NextBytes metode untuk mengisi array byte dengan nilai byte acak.

#using <System.DLL>

using namespace System;

void main()
{
   Random^ rnd = gcnew Random;
   array<unsigned char>^b = gcnew array<unsigned char>(10);
   rnd->NextBytes( b );
   Console::WriteLine("The Random bytes are:");
   for ( int i = 0; i < 10; 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
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

Keterangan

Setiap elemen array byte diatur ke angka acak yang lebih besar dari atau sama dengan 0, dan kurang dari atau sama dengan MaxValue.

Misalnya, untuk menghasilkan angka acak yang diamankan secara kriptografis yang cocok untuk membuat kata sandi acak, gunakan metode seperti RNGCryptoServiceProvider.GetBytes.

Catatan Bagi Inheritor

Dimulai dengan .NET Framework versi 2.0, jika Anda mendapatkan kelas dari Random dan mengambil Sample() alih metode , distribusi yang disediakan oleh implementasi kelas turunan dari Sample() metode tidak digunakan dalam panggilan ke implementasi NextBytes(Byte[]) kelas dasar metode . Sebaliknya, distribusi seragam yang dikembalikan oleh kelas dasar Random digunakan. Perilaku ini meningkatkan performa Random kelas secara keseluruhan. Untuk memodifikasi perilaku ini untuk memanggil Sample() metode di kelas turunan, Anda juga harus mengambil NextBytes(Byte[]) alih metode .

Lihat juga

Berlaku untuk