다음을 통해 공유


Random.NextBytes 메서드

정의

오버로드

NextBytes(Span<Byte>)

지정된 바이트 범위의 요소를 난수로 채웁니다.

NextBytes(Byte[])

지정된 바이트 배열의 요소를 난수로 채웁니다.

NextBytes(Span<Byte>)

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

지정된 바이트 범위의 요소를 난수로 채웁니다.

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

매개 변수

buffer
Span<Byte>

임의의 숫자로 채워질 배열입니다.

설명

바이트 범위의 각 요소는 0보다 크거나 같고 보다 작거나 같은 난수로 MaxValue설정됩니다.

적용 대상

NextBytes(Byte[])

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

지정된 바이트 배열의 요소를 난수로 채웁니다.

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

매개 변수

buffer
Byte[]

임의의 숫자로 채워질 배열입니다.

예외

buffer이(가) null인 경우

예제

다음 예제에서는 메서드를 사용하여 NextBytes 임의의 바이트 값으로 바이트 배열을 채우는 방법을 보여 줍니다.

#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

설명

바이트 배열의 각 요소는 0보다 크거나 같고 보다 작거나 같은 난수로 MaxValue설정됩니다.

예를 들어 임의 암호를 만드는 데 적합한 암호화 보안 난수를 생성하려면 와 같은 RNGCryptoServiceProvider.GetBytes메서드를 사용합니다.

상속자 참고

.NET Framework 버전 2.0부터 클래스 Random 를 파생하고 메서드를 재정 Sample() 의하는 경우 메서드의 파생 클래스 구현에서 제공하는 배포는 메서드의 Sample()NextBytes(Byte[]) 기본 클래스 구현에 대한 호출에서 사용되지 않습니다. 대신 기본 Random 클래스에서 반환된 균일한 분포가 사용됩니다. 이 동작은 클래스의 Random 전반적인 성능을 향상시킵니다. 파생 클래스에서 메서드를 Sample() 호출하도록 이 동작을 수정하려면 메서드도 재정의 NextBytes(Byte[]) 해야 합니다.

추가 정보

적용 대상