任何人都可以帮助解决以下场景的逻辑吗?
**Input -> Output**
00000 --> 00001
00009 --> 0000A
0000Z --> 00010
..
..
0002Z --> 00030
00039 --> 0003A
请问有什么建议吗?
编辑感谢大家的建议。:) 这是我尝试过的,它有效,但不确定是否会在某些情况下中断?:/
public static void Main(string[] args)
{
string number = "0001Z";
var result = Increment(number);
}
private static String Increment(String number)
{
String chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char lastChar = number[number.Length - 1];
string fragment = number.Substring(0, number.Length - 1);
if (chars.IndexOf(lastChar) < 35)
{
lastChar = chars[chars.IndexOf(lastChar) + 1];
string nextNumber = fragment + lastChar;
return nextNumber;
}
return Increment(fragment) + '0';
}
PS:增加一个使用数字和字符(又名 Base36 数字)的索引- 这是我从中得到的,所以可能是重复的问题..对不起。