>백엔드 개발 >C++ >C#에서 반복되지 않는 난수를 생성하는 방법은 무엇입니까?

C#에서 반복되지 않는 난수를 생성하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-21 13:11:10892검색

How to Generate Non-Repeating Random Numbers in C#?

C#에서 고유한 난수 생성

임의의 고유 번호를 생성해야 하는 애플리케이션을 개발할 때 개발자는 System.Random 클래스와 관련된 문제에 자주 직면합니다. DateTime.Now.Ticks를 시드로 사용하더라도 여전히 중복된 숫자가 있을 수 있습니다.

중복 값 문제 해결

System.Random.Next() 자체는 생성된 숫자의 고유성을 보장하지 않습니다. 더 좁은 범위(예: 0~10)와 결합하면 중복 값이 ​​발생할 확률이 더 높아집니다.

대안: 목록 유지 관리

이러한 제한을 극복하기 위한 보다 강력한 접근 방식은 생성된 번호 목록을 유지하는 것입니다. 잠재적인 번호가 목록에 이미 존재하는지 확인하면 중복을 피할 수 있습니다.

다음은 이 전략을 사용하여 수정된 구현입니다.

<code class="language-csharp">public Random a = new Random();
public List<int> randomList = new List<int>();
int MyNumber = 0;

private void NewNumber()
{
    MyNumber = a.Next(0, 10);
    if (!randomList.Contains(MyNumber))
        randomList.Add(MyNumber);
}</code>

이러한 접근 방식은 생성된 숫자 목록을 유지하고 중복 항목을 필터링하여 진정으로 고유한 값을 생성하도록 보장합니다.

위 내용은 C#에서 반복되지 않는 난수를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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