函数是这样用,比如100至999的随机数 
Random ran=new Random(); 
int RandKey=ran.Next(100,999); 
不过这样会有重复,可以给Random一个系统时间做为参数,以此产生随机数,就不会重复了 
System.Random a=new Random(System.DateTime.Now.Millisecond); 
int RandKey =a.Next(10);

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Random ran=new Random(seed); 
int num=ran.Next(a,b); 
seed-种子 
a-随机数最小值,b-随机数最大值

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

public void RndNum2(int VcodeNum)
{
//采用一个简单的算法以保证生成随机数的不同
SetRow();
Random rand = new Random();
for (int i = 1; i < VcodeNum + 1; i++)
{
rand = new Random(i * unchecked((int)DateTime.Now.Ticks));
int t = rand.Next(rows-i+1);
rec[i - 1] = rowlist[t];
Move(t,i);
}
}
public void Move(int t,int flag)
{
for (int i = t; i < rows - flag; i++)
rowlist[i] = rowlist[i + 1];
public void SetRow()
{
DataSet mySet = new JY.BLL.love_member().GetWList("grade=3");
for (int i = 0; i < rows; i++)
rowlist[i] = mySet.Tables[0].Rows[i]["id"].ToString();