Aracılığıyla paylaş


Random.NextBytes Yöntem

Tanım

Aşırı Yüklemeler

NextBytes(Span<Byte>)

Belirtilen bayt aralığının öğelerini rastgele sayılarla doldurur.

NextBytes(Byte[])

Belirtilen bayt dizisinin öğelerini rastgele sayılarla doldurur.

NextBytes(Span<Byte>)

Kaynak:
Random.cs
Kaynak:
Random.cs
Kaynak:
Random.cs

Belirtilen bayt aralığının öğelerini rastgele sayılarla doldurur.

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

Parametreler

buffer
Span<Byte>

Rastgele sayılarla doldurulacak dizi.

Açıklamalar

Bayt aralığının her öğesi, 0'dan büyük veya buna eşit ve değerinden küçük veya buna eşit rastgele bir sayıya MaxValueayarlanır.

Şunlara uygulanır

NextBytes(Byte[])

Kaynak:
Random.cs
Kaynak:
Random.cs
Kaynak:
Random.cs

Belirtilen bayt dizisinin öğelerini rastgele sayılarla doldurur.

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

Parametreler

buffer
Byte[]

Rastgele sayılarla doldurulacak dizi.

Özel durumlar

buffer, null değeridir.

Örnekler

Aşağıdaki örnek, bir bayt dizisini NextBytes rastgele bayt değerleriyle doldurmak için yönteminin nasıl kullanılacağını gösterir.

#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

Açıklamalar

Bayt dizisinin her öğesi, 0'dan büyük veya buna eşit ve değerinden küçük veya buna eşit rastgele bir sayıya MaxValueayarlanır.

Örneğin, rastgele parola oluşturmaya uygun şifreli olarak güvenli rastgele bir sayı oluşturmak için gibi RNGCryptoServiceProvider.GetBytesbir yöntem kullanın.

Devralanlara Notlar

.NET Framework sürüm 2.0'dan başlayarak, yönteminden Random bir sınıf türetip yöntemini geçersiz kılarsanızSample(), yönteminin türetilmiş sınıf uygulaması Sample() tarafından sağlanan dağıtım, yönteminin temel sınıf uygulamasına NextBytes(Byte[]) yapılan çağrılarda kullanılmaz. Bunun yerine, temel Random sınıf tarafından döndürülen tekdüzen dağıtım kullanılır. Bu davranış, sınıfın genel performansını Random artırır. Türetilmiş sınıfta yöntemini çağırmak Sample() üzere bu davranışı değiştirmek için yöntemini de geçersiz kılmanız NextBytes(Byte[]) gerekir.

Ayrıca bkz.

Şunlara uygulanır