C#生成随机数功能示例

本文实例讲述了C#生成随机数功能。分享给大家供大家参考,具体如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace csharp
{
  class Program
  {
    static void Main(string[] args)
    {
      Console.WriteLine("生成随机数\n");
      int randCount = 9;//随机数发的个数
      int randMin = 1;//随机数最小值
      int randMax = 21;//随机数最大值
      int randIndex, flag, temp;
      randIndex = temp = flag = 0;
      Random rand = new Random();
      int[] randArr = new int[randCount];
      randArr[0] = rand.Next(randMin, randMax);
      while (true)
      {
        flag = 0;
        temp = rand.Next(randMin, randMax);
        for (int i = 0; i <= randIndex; i++)
        {
          if (temp == randArr[i])
          {
            flag = 1;
            break;
          }
        }
        if (flag == 1)//如果 flag == 1 则有重复的数字生成。
        {
          continue;
        }
        else if (flag == 0)
        {
          randIndex++;
          randArr[randIndex] = temp;
        }
        if (randIndex >= randCount - 1)//如果达到 randCount 退出循环
        {
          break;
        }
      }
      for (int i = 0; i < randCount; i++)
      {
        Console.WriteLine("arr[" + i + "]=" + randArr[i]);
      }
      Console.WriteLine("\n任意键退出。");
      Console.ReadLine();
    }
  }
}

生成无重复的随机数

运行结果如下:

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#窗体操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#程序设计之线程使用技巧总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。

(0)

相关推荐

  • C#生成不重复随机数列表实例

    复制代码 代码如下: /// <summary>        /// 生成不重复随机数列表实例        /// </summary>        /// <param name="count">不重复数数量</param>        /// <returns>不重复数列表</returns>        private static List<int> GetRandomList(int

  • C# 生成验证码取随机数字加字母(改进版)

    之前一直用的生成验证码方法,取4位数字没有问题,结果加上字母,取6位后,效率非常低. 改进了一下,方法如下 复制代码 代码如下: var text2 = ""; var random = new Random((int)DateTime.Now.Ticks); const string textArray = "23456789ABCDEFGHGKLMNPQRSTUVWXYZ"; for (var i = 0; i < iVcodeNum; i++) { te

  • C#生成随机数实例

    本文实例讲述了C#生成随机数的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: /// <summary>  /// 生成num位数验证码  用于短信验证功能  /// </summary>  public static Random rand = new Random();  public static string getCode(int num)  {      string result = "";      string s = "

  • C#生成指定范围内的不重复随机数

    C#生成指定范围内的不重复随机数 // Number随机数个数 // minNum随机数下限 // maxNum随机数上限 public int[] GetRandomArray(int Number,int minNum,int maxNum) { int j; int[] b=new int[Number]; Random r=new Random(); for(j=0;j<Number;j++) { int i=r.Next(minNum,maxNum+1); int num=0; for

  • C#生成设置范围内的Double类型随机数的方法

    本文实例展示了C#实现生成设置范围内的Double类型随机数的方法,对于C#的学习来说有不错的借鉴价值,分享给大家供大家参考. 关键代码如下: /// <summary> /// 生成设置范围内的Double的随机数 /// eg:_random.NextDouble(1.5, 2.5) /// </summary> /// <param name="random">Random</param> /// <param name=&q

  • c#与js随机数生成方法

    本文实例讲述了c#与js随机数生成方法.分享给大家供大家参考.具体如下: 1. C#产生随机数方法: 复制代码 代码如下: Random rd = new Random(); rd.Next(low,high); 说明:生成70-100的随机数 复制代码 代码如下: Random rd = new Random();  rd.Next(70,100); 2. js随机数方法: 复制代码 代码如下: Math.ceil(Math.random() * (1 + high - low) + low)

  • C#实现在两个数字之间生成随机数的方法

    本文介绍一个小编自己写的C#函数,它用于生成两个数之间的一个随机数. 在C#中有一个Random类,使用它可以很方便的生成随机数.其实一个最重要的生成方式就是给它一个最大值和一个最小值,系统可以自动生成该范围内的一个随机数字. 在创建Random对象的时候,需要赋值一个随机数种子.随机数种子是什么含义本文就不介绍了,反正如果没有种子,那么每次得到的随机数会是同一个随机数(很扯蛋是吧).这里我们使用Guid类的NewGuid()方法来造一个随机的字符吕,而且这个字符串是不会相同的.这个Guid的随

  • C#生成互不相同随机数的实现方法

    本文实例讲述了C#生成互不相同随机数的实现方法,在进行C#应用程序设计时非常具有实用价值.本文详细讲述了其功能的实现过程.分享给大家供大家参考之用.具体方法如下: 一般来说,用C#生成足够随机的互不相同的随机数 Dotnet.Frameword中提供了一个专门产生随机数的类System.Random,计算机并不能产生完全随机的数字,它生成的数字被称为伪随机数,它是以相同的概率从一组有限的数字中选取的,所选的数字并不具有完全的随机性,但就实用而言,其随机程度已经足够了. 在使用随机数时,要先初始化

  • 用C#生成不重复的随机数的代码

    对于随机数,大家都知道,计算机不 可能产生完全随机的数字,所谓的随机数发生器都是通过一定的算法对事先选定的随机种子做复杂的运算,用产生的结果来近似的模拟完全随机数,这种随机数被称 作伪随机数.伪随机数是以相同的概率从一组有限的数字中选取的.所选数字并不具有完全的随机性,但是从实用的角度而言,其随机程度已足够了.伪随机数的选 择是从随机种子开始的,所以为了保证每次得到的伪随机数都足够地"随机",随机种子的选择就显得非常重要.如果随机种子一样,那么同一个随机数发生器产生 的随机数也会一样.

  • C#中获取、生成随机数的三种方法

    随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当前系统时钟为种子,进行一系列算法得出要求范围内的伪随机数. 复制代码 代码如下: Random rd = new Random(); int i = rd.Next(); 这种随机数可以达到一些要求较低的目标,但是如果在高并发的情况下,Random类所取到的系统时钟种子接近甚至完全一样,就很有可能出

  • C#可用于登录验证码的四位随机数生成方法

    本文实例讲述了C#可用于登录验证码的四位随机数生成方法.分享给大家供大家参考.具体实现方法如下: 这里提供了两种方法,调用其一即可: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SJ_random {     class Class_main     {        

  • C#生成随机数的方法小结

    本文实例总结了C#生成随机数的方法.分享给大家供大家参考.具体分析如下: 开始,很简单地使用System.Random类来生成随机数.很快,问题就来了,发现当random的生成间隔小于1ms时,随机数就重复了(仅限于每次都新建Random对象),因为新建random时候是默认以当前时间作为随机种子的.将random改为单例,重复数的几率小了,但是随机数在一段时间后循环了(伪随机数嘛,没办法,要求不了这么多的). 所以,特意在网上找了一些资料,并亲自作了一些性能比较,在此作些总结. System.

随机推荐