服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP.NET教程 - C#随机生成不重复字符串的两个不错方法

C#随机生成不重复字符串的两个不错方法

2019-12-04 10:46C#教程网 ASP.NET教程

发现两个随机生成不重复字符串的方法,感觉还不错,下面与大家分享下

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

方法一:随机生成不重复数字字符串 

复制代码代码如下:


private int rep=0; 

/// <summary> 
/// 生成随机数字字符串 
/// </summary> 
/// <param name="codeCount">待生成的位数</param> 
/// <returns>生成的数字字符串</returns> 
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; 


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

/// <summary> 
/// 生成随机字母字符串(数字字母混和) 
/// </summary> 
/// <param name="codeCount">待生成的位数</param> 
/// <returns>生成的字母字符串</returns> 
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; 

延伸 · 阅读

精彩推荐