Random.NextBytes Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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[]) .