我正在尝试在C#中开发一个例程,该例程将获取给定的输入整数并根据预定义的可能字符集返回6个字符的字母数字字符串.
可能使用的字符是:
"0123456789ABCDEFGHJKLMNPQRSTUVWXYZ"(注意字母"I"和"O"不在集合中.)
因此,如果输入为1,则输出应为"000001",输入9将输出"000009",输入10将输出"00000A",输入12345将输出"000AP3",依此类推.
我很难想出这个问题的优雅解决方案.我知道我必须努力接近这一点,所以我正在寻求一些帮助.
谢谢!
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)
| 归档时间: |
|
| 查看次数: |
4336 次 |
| 最近记录: |