wuhuixuri

Random随机数

在C#中产生随机数是一个比较常用的需求,产生随机数需要使用Random对象,Random对象默认以时间作为种子,产生随机数,调用Random对象中的方法时可产生不同的随机数,但是需要在短时间内产生多个随机数时,采用时间做种子则达不到要求,比如一个简单的产生随机数生成多个颜色的例子,代码如下(产生随机数部分):

 /// <summary>
        /// 从逗号分隔的字符串中随机取出N个字符节
        /// </summary>
        /// <param name="StrIds"></param>
        /// <param name="TopN"></param>
        /// <returns></returns>
        public List<string> getListId(string StrIds, int TopN)
        {
            var Array = StrIds.Split(\',\');
            List<string> list = new List<string>();
            int temp = 0;
            while (temp<TopN)
            {
                Random random = new Random(Guid.NewGuid().GetHashCode()); // 加入 Guid.NewGuid().GetHashCode()  作为种子目的是为了在短时间内循环不重复取出同样数据       
                int r = random.Next(Array.Length);
                string result = Array[r];
                if (!list.Contains(result))
                {
                    Thread.Sleep(100);
                    list.Add(result);
                    temp++;                   
                }
            }
            return list;
        }

 

分类:

技术点:

相关文章:

  • 2021-05-22
  • 2021-08-03
  • 2022-02-10
  • 2021-09-25
  • 2022-02-12
  • 2021-09-26
  • 2021-11-29
  • 2021-12-01
猜你喜欢
  • 2021-12-23
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-07
相关资源
相似解决方案