본문 바로가기
C#문법

[C#문법] 랜덤(Random) 함수 사용법 - 난수 생성

by LAZY모닝 2024. 1. 15.
반응형

 

※ 요약
랜덤(Random)함수를 사용하여 난수를 생성할 수 있음
 
※ 함수사용 및 설명
 
Next() 음수가 아닌 임의의 정수 반환
Next(int maxValue)
//maxValue:생성할 난수의 최대값
지정된 최대값보다 작은 음수가 아닌 임의의 정수 반환
Next(int minValue, int maxValue)
//minValue:생성할 난수의 최소값
//maxValue:생성할 난수의 최대값
지정된 범위 내의 임의의 정수 반환
NextDouble() 0.0보다 크거나 같고, 1.0보다 작은 소수점 난수
NextSingle() 0.0보다 크거나 같고, 1.0보다 작은 소수점 난수
Sample() 0.0과 1.0사이의 임의의 소수점 반환
NextInt64() 음수가 아닌 임의의 정수 반환
NextInt64(long maxValue)
//maxValue:생성할 난수의 최대값
지정된 최대값보다 작은 음수가 아닌 임의의 정수 반환
NextInt64(long minValue, long maxValue)
//minValue:생성할 난수의 최소값
//maxValue:생성할 난수의 최대값
지정된 범위 내의 임의의 정수 반환
NextBytes(Span[byte] buffer)
//buffer:임의의 숫자로 채워질 배열
지정된 바이트 범위의 요소를 난수로 채움
NextBytes(byte[] buffer)
//buffer:임의의 숫자로 채워질 배열
지정된 바이트 범위의 요소를 난수로 채움

[참고]

Integer : -2^31 ~ 2^31(-2,147,483,648~2,147,483,647)

Int64 : -2^63 ~ 2^63 (-9,223,372,036,854,775,808~9,223,372,036,854,775,807)

Dobule : 2.23e-308 .. 1.79e+308

Single : 1.18e-38 .. 3.40e+38

 
※ 예제
[코드예제]
Random random = new Random();
Byte[] b = new Byte[10];

Console.WriteLine("{0}", random.Next());
Console.WriteLine("{0}", random.Next(10));
Console.WriteLine("{0}\n", random.Next(1,45));

Console.WriteLine("{0}\n", random.NextDouble());

Console.WriteLine("{0}\n", random.NextSingle());

Console.WriteLine("{0}", random.NextInt64());
Console.WriteLine("{0}", random.NextInt64(1000));
Console.WriteLine("{0}\n", random.NextInt64(1,1000));

random.NextBytes(b);
for (int i = 0; i <= b.GetUpperBound(0); i++)
    Console.WriteLine("{0}: {1}", i, b[i]);

 

[실행결과]

 

반응형