Random.NextBytes Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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.