我正在尝试找到一种增加用户定义的意识形态的方法。我已经写了一些可以实现我想要的代码的东西,但是我非常怀疑这是做到这一点的最佳方法:
字符模式是:
AAA000AAA999BAA000BAA999BBA000
依此类推,尽管:
AAA000AAA999BAA000BAA999CAA000
可以接受。
这是我的代码,仅用于生成该模式:
int i = 30;
char char1 = 'A';
char char2 = 'A';
char char3 = 'A';
double number = 998;
for (int j = 0; j < i; j++)
{
string id = $"{char1}{char2}{char3}{number.ToString().PadLeft(3, '0')}";
if (number == 999)
{
number = 998;
if (char1 == char2 && char1 == char3 && char1 != 'Z')
{
char1++;
}
else if (char1 > char2 && char2 != 'Z')
{
char2++;
}
else if (char3 != 'Z')
{
char3++;
}
}
else
{
number++;
}
Console.WriteLine(id);
}
关于实现此目标的任何建议都会有很大帮助。
我必须对您的模式进行一些假设,但据我所知,我将使用嵌套循环而不是一个循环来统治所有这些。
int n = 30;
int i = 0;
for (char char1 = 'A'; char1 <= 'Z' && i < n; char1++)
{
for (char char2 = 'A'; char2 <= 'Z' && i < n; char2++)
{
for (char char3 = 'A'; char3 <= 'Z' && i < n; char3++)
{
for(int number = 0; number < 1000 && i < n; number++)
{
string id = $"{char1}{char2}{char3}{number.ToString().PadLeft(3, '0')}";
Console.WriteLine(id);
i++;
}
}
}
}
这将:
0
增加到999
Z
Z
Z
如果达到最大值(n
),它将在任何时候停止
→您将获得17575999
个可能的唯一ID的最大值