Random.NextBytes Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
NextBytes(Span<Byte>) |
Inserisce numeri casuali negli elementi di un intervallo di byte specificato. |
NextBytes(Byte[]) |
Inserisce numeri casuali negli elementi di una matrice di byte specificata. |
NextBytes(Span<Byte>)
- Origine:
- Random.cs
- Origine:
- Random.cs
- Origine:
- Random.cs
Inserisce numeri casuali negli elementi di un intervallo di byte specificato.
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))
Parametri
Commenti
Ogni elemento dell'intervallo di byte viene impostato su un numero casuale maggiore o uguale a 0 e minore o uguale a MaxValue.
Si applica a
NextBytes(Byte[])
- Origine:
- Random.cs
- Origine:
- Random.cs
- Origine:
- Random.cs
Inserisce numeri casuali negli elementi di una matrice di byte specificata.
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())
Parametri
- buffer
- Byte[]
Matrice da riempire con numeri casuali.
Eccezioni
buffer
è null
.
Esempio
Nell'esempio seguente viene illustrato come usare il NextBytes metodo per riempire una matrice di byte con valori di byte casuali.
#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
Commenti
Ogni elemento della matrice di byte è impostato su un numero casuale maggiore o uguale a 0 e minore o uguale a MaxValue.
Ad esempio, per generare un numero casuale protetto da crittografia adatto per la creazione di una password casuale, usare un metodo come RNGCryptoServiceProvider.GetBytes.
Note per gli eredi
A partire da .NET Framework versione 2.0, se si deriva una classe da Random ed esegue l'override del Sample() metodo , la distribuzione fornita dall'implementazione della classe derivata del Sample() metodo non viene usata nelle chiamate all'implementazione della classe base del NextBytes(Byte[]) metodo . Viene invece utilizzata la distribuzione uniforme restituita dalla classe di base Random . Questo comportamento migliora le prestazioni complessive della Random classe . Per modificare questo comportamento per chiamare il Sample() metodo nella classe derivata, è anche necessario eseguire l'override del NextBytes(Byte[]) metodo .