Partage via


Random.NextBytes Méthode

Définition

Surcharges

NextBytes(Span<Byte>)

Remplit les éléments d’une plage d’octets spécifiée avec des nombres aléatoires.

NextBytes(Byte[])

Remplit les éléments d'un tableau d'octets spécifié à l'aide de nombres aléatoires.

NextBytes(Span<Byte>)

Source:
Random.cs
Source:
Random.cs
Source:
Random.cs

Remplit les éléments d’une plage d’octets spécifiée avec des nombres aléatoires.

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

Paramètres

buffer
Span<Byte>

Tableau à remplir avec des nombres aléatoires.

Remarques

Chaque élément de l’étendue d’octets est défini sur un nombre aléatoire supérieur ou égal à 0 et inférieur ou égal à MaxValue.

S’applique à

NextBytes(Byte[])

Source:
Random.cs
Source:
Random.cs
Source:
Random.cs

Remplit les éléments d'un tableau d'octets spécifié à l'aide de nombres aléatoires.

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

Paramètres

buffer
Byte[]

Tableau à remplir avec des nombres aléatoires.

Exceptions

buffer a la valeur null.

Exemples

L’exemple suivant montre comment utiliser la NextBytes méthode pour remplir un tableau d’octets avec des valeurs d’octets aléatoires.

#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

Remarques

Chaque élément du tableau d’octets est défini sur un nombre aléatoire supérieur ou égal à 0, et inférieur ou égal à MaxValue.

Par exemple, pour générer un nombre aléatoire sécurisé par chiffrement adapté à la création d’un mot de passe aléatoire, utilisez une méthode telle que RNGCryptoServiceProvider.GetBytes.

Notes pour les héritiers

À compter de la version 2.0 du .NET Framework, si vous dérivez une classe de Random et remplacez la Sample() méthode, la distribution fournie par l’implémentation de classe dérivée de la Sample() méthode n’est pas utilisée dans les appels à l’implémentation de classe de base de la NextBytes(Byte[]) méthode. Au lieu de cela, la distribution uniforme retournée par la classe de base Random est utilisée. Ce comportement améliore les performances globales de la Random classe . Pour modifier ce comportement afin d’appeler la Sample() méthode dans la classe dérivée, vous devez également remplacer la NextBytes(Byte[]) méthode .

Voir aussi

S’applique à