用递归随机生成数字

public static string GetNewMemberCard()
        {
            #region 随机生成数
            //string _n = DateTime.Now.ToString("yyMMddHHmmss");
            //Random _r = new Random();
            //string randstr = _r.Next(1000, 9999).ToString();
            //char[] b = new char[16]{
            //   _n[11],      //s秒第2位
            //   _n[9],       //m分第2位
            //   randstr[3],  //r随机第4位
            //   _n[5],       //d天第2位
            //   _n[7],       //H时第2位
            //   _n[1],       //y年第2位
            //   _n[3],       //M月第2位
            //   _n[10],      //s秒第1位
            //   _n[2],       //M月第1位
            //   _n[6],       //H时第1位
            //   randstr[0],  //r随机第1位
            //   _n[8],       //m分第1位
            //   _n[0],       //y年第1位
            //   _n[4],       //d天第1位
            //   randstr[1],  //r随机第2位
            //   randstr[2]   //r随机第3位
            //};
            //return new string(b); 
            #endregion

            //随机数
            Random _r = new Random();
            string randomMumber = _r.Next(10000000, 99999999).ToString();
            var memberList = new List<T_Member>();
            using (ComfleepEntities db = new ComfleepEntities())
            {
                memberList = db.T_Member.ToList();
            }
            CreateMemberCode(ref randomMumber, memberList);
            return randomMumber;
        }

        //随机生成数,使用递归方法调用。
        public static void CreateMemberCode(ref string code,List<T_Member> memberList) {
            var tempCode = code;
            if (memberList.Any(c => string.Compare(c.MemberCard, tempCode, true) == 0)) {
                tempCode = new Random().Next(10000000, 99999999).ToString();
                code = tempCode;
                CreateMemberCode(ref code, memberList);
            }
        }

  

posted @ 2018-03-07 11:39  seeyougirl  阅读(617)  评论(0编辑  收藏  举报