using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace ConsoleApplication1 { public class Program { static void Main(string[] args) { CustomBaseNumber cbn = new CustomBaseNumber("0123456789abcdefghjklmnpqrstuvwxyz"); cbn.CustomBase = "1"; for (int i = 0; i < 1000000; i++) { Console.WriteLine(cbn.CustomBase.PadLeft(6, '0')); cbn.DecBase++; } Console.ReadKey(); } } class CustomBaseNumber { private string _chars; public CustomBaseNumber(string chars) { _chars = chars; } public string CustomBase { get { string value = ""; int decvalue = DecBase; int n = 0; if (decvalue == 0) return new string(new char[] { _chars[0] }); while (decvalue > 0) { n = decvalue % _chars.Length; value = _chars[n] + value; decvalue = decvalue / _chars.Length; } return value; } set { int n = 0; Func<char, int> getnum = (x) => { for (int i = 0; i < _chars.Length; i++) if (x == _chars[i]) return i; return 0; }; for (int i = 0; i < value.Length; i++) { n += Convert.ToInt32(Math.Pow((double)_chars.Length, (double)(value.Length - i - 1)) * getnum(value[i])); } DecBase = n; } } public int DecBase { get; set; } } }