定义一个产生随机数的类
以下介绍的一段代码是用于产生随机数,在网络中登陆界面经常遇到,代码如下:
1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Web;
5
using System.Web.Security;
6
using System.Web.UI;
7
using System.Web.UI.WebControls;
8
using System.Web.UI.WebControls.WebParts;
9
using System.Web.UI.HtmlControls;
10
11
/// <summary>
12
/// RandomCode 的摘要说明
13
/// </summary>
14
public class RandomCode
15
{
16
public RandomCode()
17
{
18
//
19
// TODO: 在此处添加构造函数逻辑
20
//
21
}
22
public string RandomNum(int n)
23
{
24
string strchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
25
string[] VcArray = strchar.Split(',');
26
string VNum = "";
27
int temp = -1; //记录上一次随机数值,尽量避免产生相邻的随机数
28
//采用一个简单的算法以保证生成随机数的不同
29
30
Random rand = new Random();
31
for(int i=0;i<n;i++)
32
{
33
if(temp!=-1)
34
{
35
rand=new Random(i*temp*unchecked((int)DateTime.Now.Ticks));
36
}
37
38
int t=rand.Next(61);
39
if(temp!=-1&&temp==t)
40
{
41
return RandomNum(n);
42
}
43
temp=t;
44
VNum+=VcArray[t];
45
}
46
return VNum; //返回生成的随机数
47
48
49
}
50
}
51
Random类表示伪随机数生成器,是一种能够产生满足某此随机性统计要求的数字序例的设备.
using System;2
using System.Data;3
using System.Configuration;4
using System.Web;5
using System.Web.Security;6
using System.Web.UI;7
using System.Web.UI.WebControls;8
using System.Web.UI.WebControls.WebParts;9
using System.Web.UI.HtmlControls;10

11
/// <summary>12
/// RandomCode 的摘要说明13
/// </summary>14
public class RandomCode15
{16
public RandomCode()17
{18
//19
// TODO: 在此处添加构造函数逻辑20
//21
}22
public string RandomNum(int n)23
{24
string strchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";25
string[] VcArray = strchar.Split(',');26
string VNum = "";27
int temp = -1; //记录上一次随机数值,尽量避免产生相邻的随机数28
//采用一个简单的算法以保证生成随机数的不同29

30
Random rand = new Random();31
for(int i=0;i<n;i++)32
{33
if(temp!=-1)34
{35
rand=new Random(i*temp*unchecked((int)DateTime.Now.Ticks));36
}37

38
int t=rand.Next(61);39
if(temp!=-1&&temp==t)40
{41
return RandomNum(n);42
}43
temp=t;44
VNum+=VcArray[t];45
}46
return VNum; //返回生成的随机数47

48

49
}50
}51

Random.Next方法返回一个小于所指定最大值的非负随机数.
unchecked类关键字用于取消整型算术运算和转换的溢出检查.
DateTime.Ticks属性获取表示实例的日期和时间的刻度数
以下介绍的是一种最简单的验证码编写,其功能实现随机生成4位数验证码
代码如下
Random rnd=new Random();
//生成验证码
lable1.Text=rnd.Next(1000,9999).ToString();


浙公网安备 33010602011771号