当前位置:  编程技术>.net/c#/asp.net

c# 随机函数的使用详解

    来源: 互联网  发布时间:2014-10-22

    本文导语:  代码如下:private static char[] constant =         {           '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','...

代码如下:

private static char[] constant =  
      {  
        '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'  
      };
        public static string GenerateRandomNumber(int Length)
        {
            System.Text.StringBuilder newRandom = new System.Text.StringBuilder(62);
            Random rd = new Random();
            for (int i = 0; i < Length; i++)
            {
                newRandom.Append(constant[rd.Next(62)]);
            }
            return newRandom.ToString();
        }

随机数的使用很普遍,可用它随机显示图片,用它防止无聊的人在论坛灌水还可以用来加密信息等等。本文讨论如何在一段数字区间内随机生成若干个互不相同的随机数,比如在从1到20间随机生成6个互不相同的整数,并通过此文介绍Visual c#中随机数的用法。

.net.Frameword中提供了一个专门产生随机数的类System.Random,此类默认情况下已被导入,编程过程中可以直接使用。我们知道,计算机并不能产生完全随机的数字,它生成的数字被称为伪随机数,它是以相同的概率从一组有限的数字中选取的,所选的数字并不具有完全的随机性,但就实用而言,其随机程度已经足够了。
我们可以用以下两种方法初始化一个随机数发生器;
函数是这样用,比如100至999的随机数
代码如下:

Random ran=new Random();
int RandKey=ran.Next(100,999);

不过这样会有重复,可以给Random一个系统时间做为参数,以此产生随机数,就不会重复了
第一种方法不指定随机种子,系统自动选取当前时前作随机种子:
代码如下:

Random ra=new Random();

第二种方法是指定一个int型的参数作为随机种子:
代码如下:

int iSeed=6;
Random ra=new Random(iSeed);

下面我们要用到Random.Next()方法产生随机数。
代码如下:

ra.Next();

它返回一个大于或等于零而小于2,147,483,647的数,这并不满足我们的需要,下面我们介绍它的重载函数和其它一些方法。
代码如下:

publicvirtualint Next(int);用法:ra.next(20)

返回一个小于所指定最大值(此处为20)的正随机数。
代码如下:

publicvirtualint Next(int minValue, int maxValue);

用法:ra.next(1,20)
返回一个指定范围内(此处为1-20之间)的随机数,我们在下面的实例中会用到此函数。
类System.Random还有几个方法分别是:
公共方法:
NextBytes用随机数填充指定字节数组的元素。
NextDouble返回一个介于 0.0 和 1.0 之间的随机数。
受保护的方法:
Sample返回一个介于 0.0 和 1.0 之间的随机数,只允许子类对象访问。
以上介绍了随机数的基本用法,下面我们用一个实例来做更进一步的介绍。要在一段数字区间内随机生成若干个互不相同的随机数,比如在从1到20间随机生成6个互不相同的整数。
主要是下面两个函数getRandomNum与getNum:
代码如下:

publicint[] getRandomNum(int num,int minValue,int maxValue)
{
Random ra=new Random(unchecked((int)DateTime.Now.Ticks));
int[] arrNum=newint[num];
int tmp=0;
for (int i=0;i

    
 
 

您可能感兴趣的文章:

  • C#私有构造函数的简单例子
  • C#类的学习笔记之C#构造函数
  • 学习C#中的静态构造函数与复制构造函数
  • C# 静态构造函数使用总结
  • C#实现关闭显示器的函数一例
  • C#学习笔记之抽象类和抽象函数
  • C#生成MD5的函数代码
  • c#(asp.net)实现的文件下载函数
  • C#私有构造函数使用示例
  • C# 使用匿名函数解决EventHandler参数传递的难题
  • c#只读字段和常量的区别,以及静态构造函数的使用实例
  • C#中英文混合字符串截取函数
  • C#委托所蕴含的函数指针概念详细解析
  • C#中私有构造函数的特点和用途实例解析
  • c# 获取CookieContainer的所有cookies函数代码
  • c#和javascript函数相互调用示例分享
  • C#版的 Escape() 和 Unescape() 函数分享
  • C#四舍五入(函数)用法实例
  • C#只读字段和常量的区别 静态构造函数的例子
  • c#中oracle的to_date函数使用方法
  • linux c malloc函数定义及用法详解
  • 浅谈SQLServer的ISNULL函数与Mysql的IFNULL函数用法详解
  • c++断言assert()函数的头文件及其用法详解
  • 请问:setTimeout(p1,p2) 的函数详解,马上给分的。
  • malloc函数详解及用法举例
  • oracle中lpad函数的用法详解
  • fork函数详解?
  • 深入mysql YEAR() MONTH() DAYOFMONTH()日期函数的详解
  • 从汇编看c++的默认析构函数的使用详解
  • 基于C++字符串替换函数的使用详解
  • 函数指针的一些概念详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 怎样在使用curses字符串输出函数或字符输出函数时,隐藏光标
  • php使用socket_bind()函数绑定IP地址
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • 请问在REDHAT下使用gcc编译器用的是什么函数库,函数库的资料应该上哪儿找?
  • 请问有没头函数<pthread.h>和<signal.h>里的函数的详细功能介绍?和使用方法???
  • getaddrinfo这个函数是从哪里获取信息的?使用这个函数究竟哪里方便了。。
  • 很菜,shell脚本中怎么写函数,怎么使用带参数的函数???
  • Python过滤函数filter()使用自定义函数过滤序列实例
  • 急:unix的shell脚本中,定义了一个函数getDate(),在后面的执行命令参数用要使用这个函数的返回值,应该怎么写?
  • 请问如何在一个函数内部定义的一个新类中使用函数里声明的变量
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • 在shell中使用mail函数的时候如何使用变量
  • 调用同一个函数建立的多个线程,如何使用函数的数据?
  • 关于如何使用内核函数的问题
  • C语言应用程序使用的函数来源于libc库, Libc库中的函数是在哪里实现的??
  • 线程函数中使用setpriority函数的作用
  • 使用tcgetattr函数与tcsetattr函数的问题
  • 一个数据库函数的使用?
  • linux 下使用 sendmsg 函数 udp 通信问题???
  • 急问:Linux程序中,使用system函数的几个问题
  • C++ Maps 成员 key_comp():返回比较元素key的函数
  • 请问:定义了2个函数,其中第一个函数要访问另外一个函数的变量,怎么处理阿?谢谢
  • C++ Maps 成员 value_comp():返回比较元素value的函数
  • 如果知道一个函数的地址或函数名,如何得到函数所在的文件名?
  • C++ MultiMaps 成员 key_comp():返回比较key的函数
  • java的数学函数在那个类中,如幂函数、指数、对数、双曲线函数等?
  • C++ MultiMaps 成员 value_comp():返回比较元素value的函数
  • 一个父类的构造函数的参数是(Applet applet),请问它的子类构造函数当中应怎样调用父类构造函数?
  • C++ STL Bitsets构造函数及成员函数解释及代码示例
  • 虚函数被类的构造析构函数和成员函数调用虚函数的执行过程




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3