Sdílet prostřednictvím


Random.NextBytes Metoda

Definice

Přetížení

NextBytes(Span<Byte>)

Vyplní prvky zadaného rozsahu bajtů náhodnými čísly.

NextBytes(Byte[])

Vyplní prvky zadaného pole bajtů náhodnými čísly.

NextBytes(Span<Byte>)

Zdroj:
Random.cs
Zdroj:
Random.cs
Zdroj:
Random.cs

Vyplní prvky zadaného rozsahu bajtů náhodnými čísly.

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

Parametry

buffer
Span<Byte>

Pole, které má být vyplněno náhodnými čísly.

Poznámky

Každý prvek rozpětí bajtů je nastaven na náhodné číslo větší nebo rovno 0 a menší nebo rovno MaxValue.

Platí pro

NextBytes(Byte[])

Zdroj:
Random.cs
Zdroj:
Random.cs
Zdroj:
Random.cs

Vyplní prvky zadaného pole bajtů náhodnými čísly.

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

Parametry

buffer
Byte[]

Pole, které má být vyplněno náhodnými čísly.

Výjimky

buffer je null.

Příklady

Následující příklad ukazuje, jak použít metodu NextBytes k vyplnění pole bajtů náhodnými hodnotami bajtů.

#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

Poznámky

Každý prvek pole bajtů je nastaven na náhodné číslo větší nebo rovno 0 a menší nebo rovno MaxValue.

Pokud například chcete vygenerovat kryptograficky zabezpečené náhodné číslo vhodné pro vytvoření náhodného hesla, použijte metodu, jako RNGCryptoServiceProvider.GetBytesje .

Poznámky pro dědice

Počínaje rozhraním .NET Framework verze 2.0, pokud odvozujete třídu z Random metody a přepíšete Sample() ji, distribuce poskytovaná implementací Sample() odvozené třídy metody se nepoužívá ve voláních implementace NextBytes(Byte[]) základní třídy metody. Místo toho se použije jednotné rozdělení vrácené základní Random třídou. Toto chování zlepšuje celkový výkon Random třídy. Chcete-li toto chování upravit tak, aby volala metodu Sample() v odvozené třídě, musíte také přepsat metodu NextBytes(Byte[]) .

Viz také

Platí pro