Random.NextBytes Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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 .