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;
}

(0)

相关推荐

  • asp.net页面防止重复提交示例分享

    先放javascript代码: 复制代码 代码如下: <script type="text/javascript">        var clicks = 0;        function checkclick(obj) {            clicks = clicks + 1;            if (clicks>1) {                alert("请勿重复点击!");                ret

  • asp.net 处理F5刷新页面重复提交页面的一个思路

    当提交完一个页面后,如果我们再次点击F5刷新该页面的话,会弹出一个提示,提示我们如果继续,则会重新发送提交我们刚才提交的内容,要是类似付款或一次性的操作,我们不应该这样操作,否则会造成重复提交的问题.解决这个问题,我们可以通过如下思路来处理: 1. 提交成功后,将一个成功状态存入session中,然后重新载入该页面. 2. 在page_load方法中,判定该session字段的状态值,如果为成功,则显示成功信息,否则显示错误提示,紧跟着通过Session.Remove()方法来清空该缓存即可.

  • asp.net 防止用户通过后退按钮重复提交表单

    防止用户通过后退按钮重复提交表单 <% response.Buffer=true response.Expires=0 response.ExpiresAbsolute=now()-1 response.CacheControl="no-cache" %> response.Buffer=true的意思就是指明输出页面是否被缓冲,当属性值为True时,服务器将不会向客户端发送任何信息,直到所有程序执行完或者遇到 <% Response.Flush %>或<

  • 利用asp.net实现生成不重复订单号

    复制代码 代码如下: #region 生成单据号 /// <summary> /// 生成单据号 /// </summary> /// <param name="pFromType"></param> /// <returns></returns> public static string GetFormCode(FormType pFromType) { string formcode = ""

  • asp.net表单提交时防重复提交并执行前台的JS验证

    在项目开发中,遇到这样的一个情况,就是用户重复提交.当然这个不能怪用户,只能怪.NET或者服务器反应迟钝......我是这样理解的. 在网上搜了一下,解决方案是不少,比如: http://bbs.csdn.net/topics/340048988 (这个大家提了不少建议) http://www.cnblogs.com/blsong/archive/2009/12/24/1631144.html (这个基本上总结了网上的方法) 但实际上做互联网web项目中,需要在前台执行JS或者Jquery的验证

  • asp.net forms身份验证,避免重复造轮子

    问题:大家都说使用 forms 验证无法得到当前登录用户除了用户名之外的更多信息,经过我的一番小试验,在 forms 方式下自带的 userdata 可以为我们施展天地的地方.下面记录一下我的操作步骤备忘. step 1: web.config 配置关键地方: web.config配置 复制代码 代码如下: <!-- 通过 <authentication> 节可以配置 ASP.NET 用来 识别进入用户的 安全身份验证模式. --> <authentication mode=

  • ASP.NET数组删除重复值实现代码

    根据这段代码,自己编写了一个小程序作为代码资料参考,方便以后可以直接拿来用,不需要网上找.如果你觉得还不错的话,就把它收藏起来吧! 1.前台代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>数组删除重复值</title> </head> <body> <form id="for

  • asp.net下一个账号不允许多个用户同时在线,重复登陆的代码

    方法一: 复制代码 代码如下: string sKey = username.Text.ToString().Trim(); // 得到Cache中的给定Key的值 string sUser = Convert.ToString(Cache[sKey]); // 检查是否存在 if (sUser == null || sUser == String.Empty) { TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.

  • asp.net 无重复随机数代码

    复制代码 代码如下: /// <summary> /// 产生无重复随机数 /// </summary> /// <param name="num">个数</param> /// <param name="minValue">最小数</param> /// <param name="maxValue">最大数</param> /// <retur

  • ASP生成随机数 ASP生成不重复随机数

    ASP生成随机数: 复制代码 代码如下: Randomize '纯随机,不重复 Response.write Int((999999999 * Rnd) + 111111111) '生成111111111到999999999之间随机数 ASP不重复随机数: 方法一: 已测 使用的时候需要注意里面的分割字符串的字符. 复制代码 代码如下: <% '生成的是一个不重复的数组 Function GetRnd(lowerNum,upperNum) Dim unit,RndNum,Fun_X unit =

  • VBS 生成不重复随机数代码[0-10]

    复制代码 代码如下: dim Z(10),i for i=0 to 10 Z(I)=GetRnd(i-1) WScript.Echo (Z(i)) NEXT Function GetRnd(n) Dim i,X Randomize X=CInt(10*Rnd() ) For i=0 To n If X=Z(i) Then X=GetRnd(n) Exit For End If Next GetRnd=X End Function

  • 可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集

    经我们站长测试可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集作用: 本函数适用于随机显示小数量的随机不重复数字 本函数适用于显示小数量的随机不重复记录集 为了不影响效率, 上限超过一千, 不建议使用本函数 shawl.qiu 2006-09-06  http://blog.csdn.net/btbtd 主内容: 函数及应用函数随机显示100条记录 linenum  复制代码 代码如下: <%       dim rs, rNum       dim temp       s

  • 用位图排序无重复数据集实例代码(C++版)

    <Programming Pearls>(编程珠玑下载)第一章讲述了如何用位图排序无重复的数据集,整个思想很简洁,今天实践了下. 一.主要思想 位图排序的思想就是在内存中申请一块连续的空间作为位图,初始时将位图的每一位都置为0,然后依次读取待排序文件的整数,将整数所在的位设置为1,最后扫描位图,如果某一位为1,则说明这个数存在,输出到已排序文件.比如待排序的数据S={3,0,4,1,7,2,5},max(S)=7,我们可以设置一个八位的位图B,将位图的每一位初始为0,即B=[0,0,0,0,0

  • C++编写生成不重复的随机数代码

    C++编写生成不重复的随机数代码 vector<int> getRandom(int total) { srand((int)time(NULL)); std::vector<int> input = *new std::vector<int>(); for (int i = 0; i < total; i++) { input.push_back(i); } vector<int> output = *new vector<int>();

  • 易语言获取随机数并且不重复的代码

    取随机数而且不重复的代码 .版本 2 .程序集 窗口程序集1 .子程序 __启动窗口_创建完毕 .局部变量 数组, 整数型, , "0" .局部变量 计次变量, 整数型 .局部变量 随机位置, 整数型 .计次循环首 (50, 计次变量) 加入成员 (数组, 计次变量) .计次循环尾 () .计次循环首 (5, 计次变量) 置随机数种子 () 随机位置 = 取随机数 (1, 取数组成员数 (数组)) ' 取出的随机数是数组成员的位置 输出调试文本 (数组 [随机位置]) 删除成员 (数组

  • Java 1,2,3,4能组成多少个互不相同且无重复数字的实现代码

    题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序设计: public class Wanshu { public static void main(String[] args) { int i=0; int j=0; int k=0; int t=0; for(i=1;i<=4;i++) for(j=1;j<=4;j++) for(k=1;k<=4

  • .net中string无重复数字的实现方法

    复制代码 代码如下: //string strText = "1334677999";实现无重复        public static string qu(string lab)        {            string strResult = string.Empty;            for (int intIdx = 0; intIdx < lab.Length; intIdx++)            {                if (st

  • 匹配5到10位无重复数字的正则表达式

    对于有重复的5到10位数字可以使用\d{5,10} 这样的正则 无重复的5到10位数字我考虑了一下还不会,最然只好查网上. 有一个版本还不错,反正RegexBuddy测试通过了. 复制代码 代码如下: ^(?!\d*?(\d)\d*?\1)\d{5,10}$ 对于(?!---(--)---\1)这样的形式我还没有研究透,有时间我真要细细研究. 上一个php的例子: 复制代码 代码如下: <?php $str = '123456789'; $search = '/^(?!\d*?(\d)\d*?\

随机推荐