Random.NextBytes Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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
buffer
adalah 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 .