private void Page_Load(object sender, System.EventArgs e)
{
Response.Write(GetRandString(16,"0123456789"));
Response.Write("<br>");
Response.Write(GetRandString(16,"0123456789"));
}
// 获取随机串
private string GetRandString(int count,string str)
{
string randString = "";
Random rand = new Random();
for (int i=0; i<count; i++)
{
int t = rand.Next(str.Length);
randString  += str[t];
}
return randString;
}

解决方案 »

  1.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    Response.Write(GetRandString(16,"0123456789"));
             System.Threading.Thread.Sleep(10);
    Response.Write("<br>");
    Response.Write(GetRandString(16,"0123456789"));
    }
      

  2.   

    说实在的,csdn的某些风气或者管理方法及其不利于提高素质。言归正传,其中一种解决方法可以写:
    static private Random rand=new Random();// 获取随机串
    private string GetRandString(int count,string str)
    {
    string randString = "";
    for (int i=0; i<count; i++)
    {
    int t = rand.Next(str.Length);
    randString  += str[t];
    }
    return randString;
    }
      

  3.   

    Random方法如果基数不变,随机结果序列也是不变的,所以建议你不要用str.Length做基数,用时间毫秒数做基数,这样出现重复的几率是1/1000,如果再加点其他基数那几率更低
      

  4.   

    to:shaohaiou()
    你还没有明白楼主的算法。
      

  5.   

    Random方法如果基数不变,随机结果序列也是不变的,所以建议你不要用str.Length做基数,用时间毫秒数做基数,这样出现重复的几率是1/1000,如果再加点其他基数那几率更低
    ————————————————————————————————————————
    楼主并没有用它做seed(种子),他只是用来做整数结果的上界。
      

  6.   

    顶sp1234
    lz好像在上次一个哥们的黑名单里面
      

  7.   

    在我机器上 即使Random(DateTime.Now.Millisecond)都不行 不得不赞一下CPU的运行速度
    只好这样
    static int j = 0; private void Page_Load(object sender, System.EventArgs e)
    {
    Response.Write(GetRandString(16, "0123456789"));
    Response.Write("<br/>");
    Response.Write(GetRandString(16, "0123456789"));
    }
    // 获取随机串
    private string GetRandString(int count, string str)
    {
    string randString = "";
    Random rand = new Random( DateTime.Now.Millisecond j++);
    for (int i = 0; i < count; i++)
    {
    int t = rand.Next(str.Length);
    randString += str[t];
    }
    return randString;
    }