作业帮 > 综合 > 作业

C#如何产生在一定范围内的一组不同的随机整数?急……

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/01 15:26:41
C#如何产生在一定范围内的一组不同的随机整数?急……
/// <summary>        /// 判断数组b中是否已经包含a,以此来去重复        /// </summary>        /// <param name="a"></param>        /// <param name="b"></param>        /// <returns>true:表示数组中含有a,false:表示数组中不含a</returns>        private bool IfHasOne(int a, int[] b)        {            foreach (int c in b)            {                if (a == c) { return true; }            }            return false;        }        /// <summary>        /// 从min~max之间取nums个随机数        /// </summary>        /// <param name="min">取数下线</param>        /// <param name="max">取数上线</param>        /// <param name="nums">取数个数</param>        /// <returns>所有随机数</returns>        private int[] GetRandomNums(int min, int max, int nums)        {            if (min > max)            {                //如果参数max小雨min,交换两个的值                int a = min;                min = max;                max = a;            }            int deference = max - min;            if (deference <= nums - 1)            {                nums = deference + 1;            }            Random random = new Random();            int[] result = new int[nums];            int k = 0;            while (k < nums)            {                int x = random.Next(min, max + 1);                if (!IfHasOne(x, result))                {                    result[k] = x;                    k++;                }            }            return result;        }