C#에서 난수(random number)를 생성하려면 Random 클래스가 제공하는 Next(minValue, maxValue) 메서드를 사용합니다. 이 메서드는 두 개의 매개변수를 받아, 지정한 범위 내에서 임의의 정수를 반환합니다.
Next() 메서드의 매개변수
- minValue: 생성할 난수의 최솟값 (이 값 포함)
- maxValue: 생성할 난수의 최댓값 (이 값은 제외됨)
예를 들어 100 이상 200 미만의 난수를 생성하고 싶다면 다음과 같이 작성합니다.
Next(100, 200);
이 메서드는 Random() 객체를 통해 호출해야 하며, 먼저 Random 객체의 인스턴스를 생성한 뒤 사용합니다.
Random rd = new Random(); int rand_num = rd.Next(100, 200);
전체 예제 코드
다음은 C#에서 100부터 199 사이의 난수를 생성하여 콘솔에 출력하는 완전한 예제입니다.
using System;
class Program {
static void Main() {
// Random 객체 생성
Random rd = new Random();
// 100 이상 200 미만의 난수 생성
int rand_num = rd.Next(100, 200);
// 결과 출력
Console.WriteLine(rand_num);
}
}실행 결과
프로그램을 실행하면 실행할 때마다 범위 내에서 서로 다른 값이 출력될 수 있습니다.
182
참고 사항
Next() 메서드는 최댓값을 포함하지 않는다는 점에 유의하세요. 즉, Next(100, 200)은 100부터 199까지의 정수만 반환합니다. 만약 상한값도 포함하고 싶다면 Next(100, 201)처럼 최댓값에 1을 더해 주어야 합니다.
또한 프로그램이 반복 실행될 때마다 동일한 난수 시퀀스가 나오는 것을 방지하려면, Random 객체를 한 번만 생성하고 재사용하는 것이 좋습니다. 반복문 안에서 매번 새로운 Random 객체를 생성하면 시간상 같은 시드(seed) 값이 사용되어 중복된 난수가 발생할 수 있습니다.