1. 程式人生 > >用遞歸隨機生成數字

用遞歸隨機生成數字

gpo light com reat 調用 使用 ati log next

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);
            }
        }

  

用遞歸隨機生成數字