c# 取随机数
来源:互联网 发布:串口调试助手发送数据 编辑:程序博客网 时间:2024/05/30 23:04
Random类提供的产生随机数方法有时不能满足要求,常用的只是产生随机整数或者0-1直接的小数,总结另外几种产生随机数的方法:
private Random rr = new Random();
1 //返回low与high之间的number个随机整数
public int[] RandInt(int low, int high, int number)
{
int[] randnumber;
randnumber = new int[number];
for (int i = 0; i < number; i++)
randnumber[i] = rr.Next() % (high - low + 1) + low;
return randnumber;
}
2 //返回low与high之间的number个不同的随机整数
public int[] RandDifferInt(int low, int high, int number)
{
if (number > (high - low + 1))
number = high - low + 1;
int[] randvec;
randvec = new int[number];
randvec[0] = rr.Next() % (high - low + 1) + low;
int randi;
bool IsDiffer;
for (int i = 1; i < randvec.GetLength(0); i++)
{
while (true)
{
randi = rr.Next() % (high - low + 1) + low;
IsDiffer = true;
for (int j = 0; j < i; j++)
{
if (randi == randvec[j])