用于根据输入编号生成字母数字序列号的功能

Ric*_*est 3 c#

我正在尝试在C#中开发一个例程,该例程将获取给定的输入整数并根据预定义的可能字符集返回6个字符的字母数字字符串.

可能使用的字符是:

"0123456789ABCDEFGHJKLMNPQRSTUVWXYZ"(注意字母"I"和"O"不在集合中.)

因此,如果输入为1,则输出应为"000001",输入9将输出"000009",输入10将输出"00000A",输入12345将输出"000AP3",依此类推.

我很难想出这个问题的优雅解决方案.我知道我必须努力接近这一点,所以我正在寻求一些帮助.

谢谢!

Luk*_*keH 7

int value = 12345;

string alphabet = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ";

var stack = new Stack<char>();
while (value > 0)
{
     stack.Push(alphabet[value % alphabet.Length]);
     value /= alphabet.Length;
}
string output = new string(stack.ToArray()).PadLeft(6, '0');
Run Code Online (Sandbox Code Playgroud)