>백엔드 개발 >C++ >C#에서 6개의 고유한 무작위 복권 번호를 생성하는 방법은 무엇입니까?

C#에서 6개의 고유한 무작위 복권 번호를 생성하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-12 13:41:42456검색

How to Generate Six Unique Random Lottery Numbers in C#?

C# 복권 프로그램: 고유한 난수 생성

질문:

연속해서 중복되는 번호가 없는지 확인하면서 6개의 고유한 복권 번호를 생성하는 프로그램을 작성하는 방법은 무엇입니까?

초기 코드 조각:

<code class="language-csharp">// 使用随机数对象生成6个随机数

int randomNumber1 = random.Next(1, 49);
int randomNumber2 = random.Next(1, 49);
int randomNumber3 = random.Next(1, 49);
int randomNumber4 = random.Next(1, 49);
int randomNumber5 = random.Next(1, 49);
int randomNumber6 = random.Next(1, 49);

textBox1.Text = randomNumber1.ToString();
textBox2.Text = randomNumber2.ToString();
textBox3.Text = randomNumber3.ToString();
textBox4.Text = randomNumber4.ToString();
textBox5.Text = randomNumber5.ToString();
textBox6.Text = randomNumber6.ToString();</code>

질문:

초기 코드 조각은 임의의 숫자를 생성할 수 있지만 같은 줄에 중복된 숫자가 있을 수 있습니다.

해결책:

고유한 난수를 생성하려면 생성된 숫자를 컬렉션에 저장하고 각각의 새로운 난수가 이미 존재하는지 확인해야 합니다. 중복된 숫자가 발견되면 고유한 숫자가 발견될 때까지 새로운 난수가 생성됩니다.

또는 보다 효율적인 접근 방식을 사용할 수 있습니다. 1에서 49 사이의 숫자 시퀀스를 생성하고 OrderBy 및 rnd.Next() 메서드를 사용하여 이를 섞은 다음 섞인 시퀀스에서 처음 6개의 숫자를 선택합니다.

<code class="language-csharp">var rnd = new Random();
var randomNumbers = Enumerable.Range(1, 49).OrderBy(x => rnd.Next()).Take(6).ToList();</code>

위 내용은 C#에서 6개의 고유한 무작위 복권 번호를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.