我现在在做一个程序 需要大量生成随机数,可我发现大量的随机数都是相同的 怎么写子函数比较好,我的是这样写的
private string getCount(int tnum, SqlConnection sqlcon)
{
     Random rd4=new Random();
     SqlCommand cmd8 = new SqlCommand("select title from seo3 where id=" + rd4.Next(1,tnum),sqlcon);
     string back = (string)cmd8.ExecuteScalar();
     return back;
}
这个字程序大量被调用 我想他每次生成的内容都不一样希望大家多多指点

解决方案 »

  1.   

        Random rd4=new Random(Environment.TickCount); 
      

  2.   


    楼上正解随即数相同,是因为你在初始化随机数变量时使用了相同的种子(seed)只要种子相同,那么每次生成的随机数就是相同的(包括顺序)所以最简单的解决办法就是使用系统时间的毫秒时间作为种子
      

  3.   


    Random r = new Random(Guid.NewGuid().GetHashCode());
      

  4.   

    GUID 是一个 128 位整数(16 字节),可用于所有需要唯一标识符的计算机和网络。
    此标识符重复的可能性非常小
    每次产生一个...
      

  5.   

       Random rd4=new Random(Environment.TickCount);