using System.Collections.Generic;
public static void Main()
foreach (var x in Combinations(2, '0', '9'))
public static IEnumerable<char[]> Combinations(int length, char startChar, char endChar)
var n = endChar - startChar + 1;
var s = new string(startChar, length).ToCharArray();
for (var i = 1; i <= Math.Pow(n, length); ++i)
for (var j = 0; j < s.Length; ++j)
if (j == 0 || i % Math.Pow(n, j) == 0)
s[s.Length - 1 - j] = (char)(startChar + (s[s.Length - 1 - j] - startChar + 1) % n);