我写了个生成12位字符串的函数,生成的字符串前四位是字母组成,后8位是数字组成当我在此基础上生成10个不同的字符串的时候.我这样做的,用FOR循环读取10次这个函数但是每次生成的字符串都是一样的,这个问题一直让我头疼,请各位指点迷津~~
解决方案 »
- fckeditor 打印问题
- 各位大侠介绍点asp.net学习视频下载地址.
- 讨论:对中小软件企业 .NET 开发比较JAVA更有前途?
- datatable设的全局变量不能用
- |M| 第七贴:总共510分:事件委托:用户控件更改页面控件:委托的时候可不可以多带一个参数
- 用datagrid中的UpdateCommand的事件出现了问题
- 我的文件上传成功,但是在网页能看到上传txt文件,doc文件无法浏览,报无法找到网页,请问该如何解决?
- 请问谁有绝世论坛的完全的源代码?
- oracle数字益处问题,怎么解决
- 将匹配的部分字体变色,求指导,急
- 一个奇怪的ajax问题?
- 请教关于URLRewrite的问题...
char code;
string checkCode = String.Empty; System.Random random = new Random();
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--;
}
}
for (int i = 0; i < 8; i++)
{
number = random.Next(); if (number % 2 == 0)
{
code = (char)('0' + (char)(number % 10));
checkCode += code.ToString();
}
else
{
i--;
}
} Response.Write(checkCode.ToString());
{
char[] arrchar = new char[]{
'0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
};
StringBuilder num = new StringBuilder();
Random rnd = new Random(DateTime.Now.Millisecond);
for (int i = 1; i <= 4; i++)
{
//num2.Append(arrchar[rnd.Next(0,10)].ToString());
//num.Append(arrchar[rnd.Next(0, 10)].ToString());
num.Append(arrchar[rnd.Next(11, arrchar.Length)].ToString());
}
for (int j = 1; j <= 8; j++)
{
num.Append(arrchar[rnd.Next(0,10)].ToString());
}
return num.ToString();
}
private string getString(Random s,Random n)
{
string strString = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
string strNumber = "0,1,2,3,4,5,6,7,8,9";
string strStr = null;
string strNum = null;
string strTemp = null;
int k;
string[] strs = strString.Split(',');
string[] strn = strNumber.Split(',');
for (int i = 0;; i++)
{
k = s.Next(26);
strTemp = strs[k].ToString();
if (strTemp == "*")
continue;
strs[k] = "*";
strStr += strTemp;
if (strStr.Length == 4)
break;
}
for (int i = 0; ; i++)
{
k = n.Next(10);
strTemp = strn[k].ToString();
if (strTemp == "*")
continue;
else
strn[k] = "*";
strNum += strTemp;
if (strNum.Length == 8)
break;
} return strStr + strNum;
} private void getStr()
{
Random rand1 = new Random();
Random rand2 = new Random();
for(int i=0;i<10;i++)
{
Response.Write(getString(rand1,rand2)+"<br />");
}
}单个不包含重复,
"o","p","q","r","s","t","u","v","w","x","y","z"};
private string strNumber = {"0',"1","2","3","4","5","6","7","8","9"};
private Random rand = new Random();
private ArrayList arr = new ArrayList(); //存放最后生成的10个字符串private string GetRandString()
{
string stringStr = string.Empty;
for(int i = 0; i < 4; i++)
{
numStr += strString[rand.Next(26)];
}
return numStr;
}private string GetRandNumber()
{
string numStr = string.Empty;
for(int i = 0; i < 8; i++)
{
numStr += strNumber[rand.Next(10)];
}
return numStr;
}private string GetDemandString()
{
return GetRandString()+GetRandNumber();
}private void GetTenString() //也可以直接返回一个集合对象
{
string temp = string.Empty;
for(int i=0; i<10; i++)
{
temp = GetDemandString();
if(arr.Count < 1)
{
arr.Add(temp);
}
else
{
while(arr.Contains(temp))
{
temp = GetDemandString();
}
arr.Add(temp);
}
}
}