Wouldn't reversing the number be faster?
// unchecked code, don't kill me if it doesn't even compile.ulong Reverse(ulong number) { ulong result = 0; while (number > 0) { ulong digit = number % 10; result = result * 10 + digit; number /= 10; } return result;}