public static void Main(string[] args)
        {
            for (int i = 0; i < 50; i++)
            {
                Random rand = new Random(DateTime.Now.Millisecond);
                Console.WriteLine(rand.Next(100));
            }
            Console.Read();
        }同一时间生成的随机数是相同的,问如何避免?

解决方案 »

  1.   

    public static void Main(string[] args)
      {
      Random rand = new Random(DateTime.Now.Millisecond);  for (int i = 0; i < 50; i++)
      {
      Console.WriteLine(rand.Next(100));
      }
      Console.Read();
      
      

  2.   

    Random rand = new Random();
    DateTime.Now.Ticks + random.Next(100)这个数具有统计学上的唯一性
      

  3.   

    错。.NET 框架库的 Random 类产生的随机数是伪随机数。
      

  4.   


     int i = 0;
                while (i < 10)
                {
                    //生成随机数字
                    int k = r.Next(1000000, 9999999);
                    string number = sMonet.MseNumber + k.ToString();
                    Users u = new Users();
                       //验证是否存在
                    u = uHelper.GetUsersByNumber(number);
                    if (u == null)
                    {
                        this.ddlNumber.Items.Add(new ListItem(number, number));
                        i++;
                    }
                }
      

  5.   

     int i = 0;
                while (i < 10)
                {
                    //生成随机数字
                    int k = r.Next(1000000, 9999999);
                    string number = sMonet.MseNumber + k.ToString();
                    Users u = new Users();
                    u = uHelper.GetUsersByNumber(number);
                    if (u == null)
                    {
                        this.ddlNumber.Items.Add(new ListItem(number, number));
                        i++;
                    }
                }