以下のシナリオのロジックを手伝ってくれる人はいますか?
**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数字)を使用するインデックスをインクリメントします-これは私が入手した場所なので、質問が重複する可能性があります..ごめんなさい。