C#生成流水号编码[a-z(不包括i和o) 按0-9 a-z的顺序)]

来源:互联网 发布:linux 隐藏文件 编辑:程序博客网 时间:2024/06/10 19:36
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;        }    }}

阅读全文
0 0
原创粉丝点击