C#随机生成规定个不重复的随机数,并排序

来源:互联网 发布:php是一种什么型的语言 编辑:程序博客网 时间:2024/06/11 19:53
1、用HashSet集保存生成的随机数;保证不重复
2、HashSet的ToList<>转换成List<>集
3.List<>的sort() 方法排序
下面就贴代码:

     //初始化List和HashSet
       private List < int> a = new List < int>();
        private HashSet < int> hs = new HashSet < int>();

   private void btnGenerate_Click(object sender, EventArgs e)
        {
            //清空列表,在列表中显示生成的随机数
            for int i = listBox1.Items.Count-1; i>=0 ;i--)
            {
                listBox1.Items.RemoveAt(i);
            }
            //清空HashSet
            hs.Clear();
           
            int count=0;
            try   //获取生成个数
            {
                count = Int32 .Parse(textCount.Text);
            }
            catch (Exception ex)
            {
                MessageBox .Show("个数有误" );
            }
            Random r = new Random(( int )DateTime .Now.Ticks); //以当前时间为时间随机种子
            
            //生成随机数
            for (int i = 0; hs.Count< count; i++)
            {
                hs.Add(r.Next(100));
            }
            a=hs.ToList< int >(); //HashSet转为List
            a.Sort(); // 排序
            //输出随机数到列表
            for (int i = 0; i <a.Count; i++)
            {
                this .listBox1.Items.Add(a[i]);
            }
        }
0 0
原创粉丝点击