今天整理以前一个项目源码,发现两个随机生成不重复字符串的方法,觉得用起来挺方便的,在此贴出来,方便以后查阅。方法一:随机生成不重复数字字符串
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;
}
Code 方法二:随机生成字符串(数字和字母混和)
///
/// 生成随机字母字符串(数字字母混和)
///
/// 待生成的位数
/// 生成的字母字符串
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;
}