刚自己写了一下,每次都不能生成唯一的数字.有重复
所以恳请大家帮忙
需求是:共12位字符,前四位为字母,后四位为数字!

解决方案 »

  1.   

    Random ran=new Random();
    string s="";
    int num=0;
    int i=0;
    do
    {
    num=ran.Next(1,34);
    if(s!="")
    {
    if(s.IndexOf(num.ToString()+",")==0)
    {

    }
    else if(s.IndexOf(","+num.ToString()+",")>0)
    {

    }
    else
    {
    s+=num.ToString()+",";
    i++;
    }
    }
    else
    {
    s+=num.ToString()+",";
    i++;
    }
    }while(i!=6);
    Response.Write(s);参考一下这个哈,这个只是数字的,字符的可以加一个数组,包含所有的大小写字母关键是判断,时候重复
      

  2.   

     int number;
            char code;
            string checkCode = String.Empty;        System.Random random = new Random();        for (int i = 0; i < 4; i++)
            {
                number = random.Next();            if (number % 2 == 0)
                {
                    code = (char)('0' + (char)(number % 10));
                    checkCode += code.ToString();
                }
                else
                {
                    i--;
                }
            }
            for (int j = 0; j < 4; j++)
            {
                number = random.Next();
                if (number % 2 != 0)
                {
                    code = (char)('A' + (char)(number % 26));
                    checkCode += code.ToString();
                }
                else
                {
                    j--;
                }
            }
            Response.Write(checkCode.ToString());
      

  3.   

    要求不高的话,直接拿系统随机返回的字串就可以了.
        public static string getRndString(int len)
        {
            return System.Guid.NewGuid().ToString().Substring(0, len);   
        }    string x = getRndString(6);我自己都这么用.
      

  4.   

    yeness 你给的函数我也写了,
    我现在想要10个不同的随机字符串,而且不能相同
    当我用for循环调用这个函数的时候,为什么生成的10个都一样呢?
      

  5.   

            private string getString()
            {
                string str = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z";
                string strString = null;
                string strNumber = null;
                string[] strs = str.Split(',');
                Random rand = new Random();
                for (int i = 0; i < 4; i++)
                {
                    strString += strs[rand.Next(25)].ToString();
                    strNumber += rand.Next(10).ToString();
                }            return strNumber + strString;
            }