日期:2014-05-17  浏览次数:20919 次

c#,生成指定格式的数字序列
现在要生成指定数目的序列号,每个序列号的位数为5位,每次生成从00001开始。序列号包括0-9 a-z(排除i和o两个字母),如:
00001
00002
00003
00004
00005
00006
00007
00008
00009
0000a
0000b
0000c
0000d
0000e
0000f
0000g
0000h
0000i
0000j
当到0000z的时候,下一个数字应该是00010,依次在这0-9 a-z(不包括i和o两个字母)循环。
该怎么做,给个思路,或贴段代码。
谢谢。

------解决方案--------------------
我改了一下,你可以设控制数目count,我这里设了20个。
		int count = 20;		//要生成20个
string s = "0123456789abcdefghjklmnpqrstuvwxyz";
char[] c = new char[5];
int counter = 0;
for (int i = 0; i < s.Length; i++)
{
c[0] = s[i];
for (int j = 0; j < s.Length; j++)
{
c[1] = s[j];
for (int k = 0; k < s.Length; k++)
{
c[2] = s[k];
for (int m = 0; m < s.Length; m++)
{
c[3] = s[m];
for (int n = 0; n < s.Length; n++)
{
if (counter == 0)
n = 1;
c[4] = s[n];
string r = new string(c);
if (counter < count)
{
Response.Write(r + "<br/>");
counter++;
}
else
{
i = j = k = m = n = s.Length;
break;
}
}
}
}
}
}