首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-09-14 
求随机生成一个字符串写法刚自己写了一下,每次都不能生成唯一的数字.有重复所以恳请大家帮忙需求是:共12位

求随机生成一个字符串写法
刚自己写了一下,每次都不能生成唯一的数字.有重复
所以恳请大家帮忙
需求是:共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;
}

热点排行