程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> C#隨機生成不重復字符串的兩個不錯方法

C#隨機生成不重復字符串的兩個不錯方法

編輯: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;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved