Unity

[C#,Unity] 특정 값을 제외한 랜덤 값 구하기

Kim2558 2019. 4. 11. 00:32

출처 : https://stackoverflow.com/questions/18484577/how-to-get-a-random-number-from-a-range-excluding-some-values

        private int GetRandomNumber()
        {
            var exclude = new HashSet<int>() { 5, 7, 17, 23 };
            var range = Enumerable.Range(1, 100).Where(i => !exclude.Contains(i));

            var rand = new System.Random();
            int index = rand.Next(0, 100 - exclude.Count);
            return range.ElementAt(index);
        }

원하지 않는 숫자를 제외한 범위(코드에서는 1~100)에서 랜덤 값을 범위의 인덱스로 사용하여 값을 구하는 코드이다.