C#生成防伪码

class Program
    {
        public static int icount;
        static void Main(string[] args)
        {
            
            Stopwatch timer1 = new Stopwatch();//计时器类
            timer1.Start();//开始计时


           int i = Convert.ToInt32(args[0]);//生成的防伪码的长度
           int  j = Convert.ToInt32(args[1]);//生成防伪码的个数
           string str = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ";
           StringBuilder newStr = new StringBuilder();//用来存储防伪码
            Hashtable hashtable = new Hashtable();


            int seekSeek = unchecked((int)DateTime.Now.Ticks);//获取随机数种子
            Random seekRand = new Random(seekSeek);


            for (icount=0; icount < j; icount++)
            {
                newStr.Clear();
                for (int k = 0; k < i; k++)
                {
                    newStr.Append(str[seekRand.Next(0,34)]);
                }//生成防伪码


                    if (!hashtable.Contains(newStr.ToString()))//判断防伪码是否重复
                    {
                        hashtable.Add( newStr.ToString(),"");
                        //Console.WriteLine(newStr.ToString());
                    }
                    else
                        icount--;   


            }






            timer1.Stop();//停止计时
            double dMilliseconds = timer1.Elapsed.TotalMilliseconds;
            Console.WriteLine("生成个数为:{0},运行时间为:{1}", icount, dMilliseconds);
            Console.ReadKey();
        }




       
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值