现在的位置: 首页 > 综合 > 正文

C#随机不重复数字字符串

2013年05月17日 ⁄ 综合 ⁄ 共 2296字 ⁄ 字号 评论关闭

今天整理以前一个项目源码,发现两个随机生成不重复字符串的方法,觉得用起来挺方便的,在此贴出来,方便以后查阅。方法一:随机生成不重复数字字符串  private int rep=0;


       
/// 
       
/// 生成随机数字字符串
       
/// 
       
/// 待生成的位数
       
/// 生成的数字字符串
       private string GenerateCheckCodeNum(int codeCount)
       {
           
string str = string.Empty;
           
long num2 = DateTime.Now.Ticks + this.rep;
           
this.rep++;
           Random random 
= new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> this.rep)));
           
for (int i = 0; i < codeCount; i++)
           {
               
int num = random.Next();
               str 
= str + ((char)(0x30 + ((ushort)(num % 10)))).ToString();
           }
           
return str;
       } 

方法二:随机生成字符串(数字和字母混和)


 /// 
       
/// 生成随机字母字符串(数字字母混和)
       
/// 
       
/// 待生成的位数
       
/// 生成的字母字符串
       private string GenerateCheckCode(int codeCount)
       {
           
string str = string.Empty;
           
long num2 = DateTime.Now.Ticks + this.rep;
           
this.rep++;
           Random random 
= new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> this.rep)));
           
for (int i = 0; i < codeCount; i++)
           {
               
char ch;
               
int num = random.Next();
               
if ((num % 2== 0)
               {
                   ch 
= (char)(0x30 + ((ushort)(num % 10)));
               }
               
else
               {
                   ch 
= (char)(0x41 + ((ushort)(num % 0x1a)));
               }
               str 
= str + ch.ToString();
           }
           
return str;
       }


 /// 
       
/// 生成随机字母字符串(数字字母混和)
       
/// 
       
/// 待生成的位数
       
/// 生成的字母字符串
       private string GenerateCheckCode(int codeCount)
       {
           
string str = string.Empty;
           
long num2 = DateTime.Now.Ticks + this.rep;
           
this.rep++;
           Random random 
= new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> this.rep)));
           
for (int i = 0; i < codeCount; i++)
           {
               
char ch;
               
int num = random.Next();
               
if ((num % 2== 0)
               {
                   ch 
= (char)(0x30 + ((ushort)(num % 10)));
               }
               
else
               {
                   ch 
= (char)(0x41 + ((ushort)(num % 0x1a)));
               }
               str 
= str + ch.ToString();
           }
           
return str;
       }

抱歉!评论已关闭.