当前位置: 代码迷 >> ASP.NET >> 求随机生成一个字符串写法解决方案
  详细解决方案

求随机生成一个字符串写法解决方案

热度:9485   发布时间:2013-02-25 00:00:00.0
求随机生成一个字符串写法
刚自己写了一下,每次都不能生成唯一的数字.有重复
所以恳请大家帮忙
需求是:共12位字符,前四位为字母,后四位为数字!

------解决方案--------------------------------------------------------
C# code
                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);
------解决方案--------------------------------------------------------
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());
------解决方案--------------------------------------------------------
要求不高的话,直接拿系统随机返回的字串就可以了.


C# code
    public static string getRndString(int len)    {        return System.Guid.NewGuid().ToString().Substring(0, len);       }    string x = getRndString(6);
------解决方案--------------------------------------------------------
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;
}
  相关解决方案