最新发布 C# 生成不重复的随机数

发布时间: 2023-01-06,浏览量:445
public static int[] getRandomNum(int num,  int maxValue)
        {

            int[] container = new int[maxValue];
            //用于保存返回结果     
            int[] result = new int[num];
            Random random = new Random();
            for (int i = 1; i <= maxValue; i++)
            {
                container[i - 1] = i;
            }
            int index = 0;
            int value = 0;
            for (int i = 0; i < num; i++)
            {
                //从[1,container.Count + 1)中取一个随机值,保证这个值不会超过container的元素个数     
                index = random.Next(1, container.Length - 1 - i);
                //以随机生成的值作为索引取container中的值     
                value = container[index];
                //将随机取得值的放到结果集合中     
                result[i] = value;
                //将刚刚使用到的从容器集合中移到末尾去     
                container[index] = container[container.Length - i - 1];
                //将队列对应的值移到队列中     
                container[container.Length - i - 1] = value;
            }
            //result.Sort();排序     
            return result;    
        


        }

热门文章 经典语录

热门文章 热门文章

查看更多