求生成包含数字和大写字母的随机数的程序
生成包含数字和大写字母的随机数
除去子母中的I和O,数字中的1和0
谢谢
问题点数:100、回复次数:4Top
1 楼syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*)回复于 2005-07-16 16:48:16 得分 0
private string CreateRandomCode(int codeCount) //codeCount是希望生成的长度
{
string allChar = "A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z,2,3,4,5,6,7,8,9" ;
string[] allCharArray = allChar.Split(',');
string randomCode = "";
int temp = -1;
for(int i = 0; i < codeCount; i++)
{
if(temp != -1)
{
rand = new Random(i*temp*((int)DateTime.Now.Ticks));
}
int t = rand.Next(35);
if(temp == t)
{
return CreateRandomCode(codeCount);
}
temp = t;
randomCode += allCharArray[t];
}
return randomCode;
}Top
2 楼syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*)回复于 2005-07-16 16:50:16 得分 95
private string CreateRandomCode(int codeCount) //codeCount是希望生成的长度
{
string allChar = "A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z,2,3,4,5,6,7,8,9" ;
string[] allCharArray = allChar.Split(',');
string randomCode = "";
int temp = -1;
for(int i = 0; i < codeCount; i++)
{
if(temp != -1)
{
rand = new Random(i*temp*((int)DateTime.Now.Ticks));
}
int t = rand.Next(32);
if(temp == t)
{
return CreateRandomCode(codeCount);
}
temp = t;
randomCode += allCharArray[t];
}
return randomCode;
}
Top
3 楼JzeroBiao(先知)回复于 2005-07-16 16:57:19 得分 5
嘻...我COPY、COPY、COPY再COPY!Top
4 楼syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*)回复于 2005-07-16 16:59:14 得分 0
private string CreateRandomCode() //生成一个字母
{
string allChar = "A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z,2,3,4,5,6,7,8,9" ;
string[] allCharArray = allChar.Split(',');
int i = 100;
while(i>31)
{
i = Convert.ToInt32(DateTime.Now.ToString("ffffff").Substring(4,2));
}
return allCharArray[i];
}
这个简单点,思路是用秒后面第5-6位,如果超过31就继续取,直到小于32为止,因为在秒后面6位这个数量级上,这个足够随机的了,然后查数组,返回数字.
以上程序可能需要略修改才能通过运行.不保证所有拼写正确.
Top




