当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net 无重复随机数代码

ASP.NET
Check Your Internet Connection With C#
Essential .NET读书笔记
可用来显示空值的时间选择控件3
学习Keny boy sps区域列表的管理入口程序
[译]Visual Basic 2005在语言上的增强(十)应用程序级别事件
什么时候应该使用 ==?什么时候应该使用 Equals?
“String.Equals(string)”和“==”那个快?
应用ADO.net得到系统表信息
不会被其他窗体遮挡的抓图,使用API的PrintWindow函数
关于.net下服务安装
水晶报表4.6的使用示例
超大正整数加法与乘法最笨方法实现
实现web页面的局部刷新
动态生成带事件的MsFlexGrid
一些codedom的资料。
WML教程3:任务与导航-赋值与数据交换
WML教程7:WML的事件
WML教程10:分组选择控件(Optgroup)和复杂实例
WML教程5:任务和任务屏蔽
VS.NET安装部署深入研究

ASP.NET 中的 asp.net 无重复随机数代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 135 ::
收藏到网摘: n/a

asp.net产生无重复随机数的实现代码
复制代码 代码如下:

/// <summary>
/// 产生无重复随机数
/// </summary>
/// <param name="num">个数</param>
/// <param name="minValue">最小数</param>
/// <param name="maxValue">最大数</param>
/// <returns>数组</returns>
public int[] getNum(int num, int minValue, int maxValue)
{
Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
int[] arrNum = new int[num];//注意:数组中各元素的初始值是0,当0在取值范围内时要另处理
int tmp = 0;
for (int i = 0; i < num; i++)
{
tmp = getRandomNum(tmp, minValue, maxValue, ra);//取出值赋到数组中
if (Array.IndexOf(arrNum, tmp) < 0)//判断是否存在,不存在的话元素tmp的索引应为-1
{
arrNum[i] = tmp;
}
else
{
i = i - 1;
}
}
return arrNum;
}
public int getRandomNum(int tmp, int minValue, int maxValue, Random ra)
{
tmp = ra.Next(minValue, maxValue);
return tmp;
}