Random r = new Random();  //to create a new image every time
int thisr = r.Next(0, 5000);

解决方案 »

  1.   

    最好 Random() 加时间作为种子.
      

  2.   

    private int[] GetRandoms(int minValue,int maxValue,int randomNumber)
    {
    int[] rtnRandoms = new int[randomNumber];
    for(int i=0;i<randomNumber;i++)
    {
    Random r = new Random(DateTime.Now.Millisecond+i);
    rtnRandoms[i] = r.Next(minValue,maxValue);
    }
    return rtnRandoms;
    }
      

  3.   

    可以用Guid的HashCode 获得随机数
      

  4.   

    zealic() 的方法很妙啊.但我想这会影响速度.
    用Guid的HashCode 获得随机数,然手用这个数字来作random的种子.
    随机性和速度都得到了满足
      

  5.   

    首先这个是以时间获得的非重复数:
    string a = System.DateTime.Now.ToFileTime().ToString();
    其次,这个是伪随机:
    string b = r.Next(0, 5000).ToString();
    他们加在一块 a + b,就是最好的自然随机数。而且不重复.