C#隨機(jī)生成不重復(fù)字符串的兩個不錯方法
更新時間:2014年05月15日 15:11:13 作者:
發(fā)現(xiàn)兩個隨機(jī)生成不重復(fù)字符串的方法,感覺還不錯,下面與大家分享下
今天整理以前一個項目源碼,發(fā)現(xiàn)兩個隨機(jī)生成不重復(fù)字符串的方法,覺得用起來挺方便的,在此貼出來,方便以后查閱。
方法一:隨機(jī)生成不重復(fù)數(shù)字字符串
private int rep=0;
/// <summary>
/// 生成隨機(jī)數(shù)字字符串
/// </summary>
/// <param name="codeCount">待生成的位數(shù)</param>
/// <returns>生成的數(shù)字字符串</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;
}
方法二:隨機(jī)生成字符串(數(shù)字和字母混和)
/// <summary>
/// 生成隨機(jī)字母字符串(數(shù)字字母混和)
/// </summary>
/// <param name="codeCount">待生成的位數(shù)</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;
}
方法一:隨機(jī)生成不重復(fù)數(shù)字字符串
復(fù)制代碼 代碼如下:
private int rep=0;
/// <summary>
/// 生成隨機(jī)數(shù)字字符串
/// </summary>
/// <param name="codeCount">待生成的位數(shù)</param>
/// <returns>生成的數(shù)字字符串</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;
}
方法二:隨機(jī)生成字符串(數(shù)字和字母混和)
/// <summary>
/// 生成隨機(jī)字母字符串(數(shù)字字母混和)
/// </summary>
/// <param name="codeCount">待生成的位數(shù)</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;
}
您可能感興趣的文章:
相關(guān)文章
ASP.NET Core自定義中間件如何讀取Request.Body與Response.Body的內(nèi)容詳解
這篇文章主要給大家介紹了關(guān)于在ASP.NET Core自定義中間件中如何讀取Request.Body與Response.Body的內(nèi)容,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用ASP.NET Core具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05讓GridView只更新某些特定的數(shù)據(jù)的方法
我又不希望所有的數(shù)據(jù)都可以修改,只希望修改某些特定的列,用下面的方法即可2008-10-10.net 獲取瀏覽器Cookie(包括HttpOnly)實例分享
這篇文章介紹了.net 獲取瀏覽器Cookie(包括HttpOnly)實例,有需要的朋友可以參考一下2013-10-10解決AJAX.NET中的懸停panel在頁面加載時閃爍的問題
AJAX.NET的兩個懸??丶?分別是HoverMenuExtender和ModalPopupExtender.他們可以打造很好的懸停效果...通常,我都是用panel來作為懸停內(nèi)容的容器..2009-06-06asp.net c#采集需要登錄頁面的實現(xiàn)原理及代碼
當(dāng)我們采集頁面的時候,如果被采集的網(wǎng)站需要登錄才能采集,原理搞清楚了,就好辦了,我們所要做的僅僅是在采集的時候(或者說HttpWebRequest提交數(shù)據(jù)的時候),將Cookie信息放入Http請求頭里面就可以了,感興趣的朋友可以了解下,或許對你有所幫助2013-02-02詳解.Net Core + Angular2 環(huán)境搭建
這篇文章主要介紹了詳解.Net Core + Angular2 環(huán)境搭建,具有一定的參考價值,有興趣的可以了解一下。2016-12-12VC用Ado接口連接和使用數(shù)據(jù)庫及注意事項
進(jìn)行方法調(diào)用時,所傳遞的參數(shù)的類型的轉(zhuǎn)換(可能存在比本文更簡便的處理方法但我未發(fā)現(xiàn)) ,需要了解的朋友可以參考下2012-12-12