using System.Collections.Generic;
public static void Main()
for (var i = 0; i < 1000; i++)
Console.WriteLine(test = Increment2(test));
static string Increment(string source)
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var last = source[source.Length - 1];
if (last == chars[chars.Length - 1])
return Increment(source.Substring(0, source.Length - 1)) + last;
return source.Substring(0, source.Length - 1) + chars[chars.IndexOf(last) + 1];
static string Increment2(string source) {
var builder = new char[6];
for (i = source.Length; i > 0;)
char ch = (char) ((int) source[i] + 1);
else if (ch == 'Z' + 1) {
while (i > 0) { --i; builder[i] = source[i]; }
return new String(builder);