C# 목록을 무작위로
Fisher-Yates Shuffle은 무작위 목록 순서를위한 입증 된 알고리즘입니다. 여기에는 ilist
여기, 는 클래스의 인스턴스를 나타냅니다
임의의 숫자 생성 옵션
<code class="language-csharp">public static void Shuffle<T>(this IList<T> list) { int n = list.Count; while (n > 1) { n--; int k = rng.Next(n + 1); T value = list[k]; list[k] = list[n]; list[n] = value; } }</code>
네임 스페이스를 사용하는 것을 고려하십시오.
rng
이 버전은 Random
를 향상된 무작위성을 사용합니다. 생성 된 임의의 숫자가 필요한 범위 내에 있는지 확인하기 위해 추가 점검을 참고하십시오.
System.Random
는 속도를 제공하는 반면 System.Security.Cryptography
는 탁월한 무작위성을 제공하지만 성능 비용에 따라 제공합니다. 응용 프로그램의 요구에 따라 적절한 방법을 선택하십시오. 대부분의 일반 목적 셔플 링의 경우
위 내용은 C#에서 목록을 무작위로 셔플하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!