GUID  ;() 你截取一部分 转成 ASCII

解决方案 »

  1.   

    string strNewStr = "";
    Random rd = new Random((int)System.DateTime.Now.Ticks);
    for(int i = 0; i < 10; i++)
    {
        strNewStr += (char)((int)'0' + rd.Next(9));
    }
      

  2.   

    public string GetByRndNum()
        {
            string Vchar = "0,1,2,3,4,5,6,7,8,9";
            string[] VcArray = Vchar.Split(',');
            string VNum = "";        
            //采用一个简单的算法以保证生成随机数的不同
            Random rand = new Random();
            int[] rndArr = new int[rndLength];
            for (int i = 1; i < rndLength + 1; i++)
            {   
                if(i>1)
                {
                    do
                    {
                        rndArr[i-1] = rand.Next(16);//rand.Next(35) ;
                        bool goon = false;
                        for(int ix=0; ix<i-1; ix++)
                        {
                            if (rndArr[ix] == rndArr[i-1])
                            {
                                goon = true;
                                break;
                            }
                        }
                        if (!goon)
                            break;
                    } while (1 == 1);
                }
                else
                    rndArr[i-1] = rand.Next(16);
                VNum += rndArr[i-1];
            }
            return VNum;
        }
      

  3.   

    MessageBox .Show (DateTime .Now .ToString ("yyMMddhhmmssffff"));重复的机率很小了
      

  4.   

    随机两个2位数
    a b
    a*b+a-b
    再算md5
    重复几率小点
      

  5.   

    Random r = new Random();
    string str = r.Next(10000000,99999999).ToString() + r.Next(10000000,99999999).ToString();
      

  6.   

    需要把Random声明为类成员,使用它连续生成随机数,不会重复~