• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#在一段数字区间内随机生成若干个互不相同的随机数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

    /// <summary>
        /// Random ra=new Random();  系统自动选取当前时前作随机种子:
        /// Random ra=new Random(6) 指定一个int型的参数作为随机种子;
        /// ra.Next(); 返回一个大于或等于零而小于2,147,483,647的随机数
        /// ra.Next(20);返回一个大于或等于零而小于20的随机数
        /// ra.Next(1,20); 返回一个大于或等于1而小于20之间的随机数
        /// 以下函数返回几个大于或等于某正整数(含0)而小于等于某正整数无重复的正整数.

        /// 示例 int[] a= getRandomNum(12,1,100); //在1-100间随机取12个不同的数并存于数组a
        /// 来自 俱会一处 
        /// </summary>

 

 

public int[] getRandomNum(int num, int minValue, int maxValue)
        {
            if ((maxValue + 1 - minValue - num<0))
                maxValue += num - (maxValue + 1 - minValue);
            Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
            int[] arrNum = new int[num];
            int tmp = 0;
            StringBuilder sb=new StringBuilder (num *maxValue .ToString ().Trim ().Length );
              
            for (int i = 0; i <= num - 1; i++)
            {
                tmp = ra.Next(minValue, maxValue); 
                while (sb.ToString().Contains("#" + tmp.ToString().Trim() + "#"))
                    tmp = ra.Next(minValue, maxValue+1);
                arrNum[i] = tmp; 
                sb.Append( "#" + tmp.ToString().Trim() + "#");
            }
            return arrNum;
        }

 
 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#程序调用非托管C++DLL文件的方法发布时间:2022-07-18
下一篇:
C++线性表实现发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap