今天由于需要一个c#生成不重复的随机数的解决方案。在CSDN找到一个理想的答案。

以下是思想:


首先建立一个列表ArrayList list,将其长度设为20,给其赋值,从1到20。
再随机生成一个数,Random r=new Random()。每生成一个随机数,就移走一个list中的元素
这样一来,就不会出现重复了。 

这里我把ArrayList改成了List<int>,以下是我的代码:


        public List<int> GenerateNumber()
        {
            Random  random = new Random();
            List<int> number = new List<int>(10);
            List<int> result = new List<int>(4);
            for (int i = 0; i < 10; i++)
            {
                number.Add(i);
            }
            for (int i = 0; i < 4; i++)
            {
                int tempNum = random.Next(0, number.Count);
                result.Add(number[tempNum]);
                number.RemoveAt(tempNum);
            }
            return result;
        }

这个做法的核心思想就是 :每生成一个随机数,就移走一个list中的元素


        public static void Main(string[] args)
        {
            GuessGame guessGame = new GuessGame();
            for (int i = 0; i < guessGame.GenerateNumber().Count; i++)
            {
                Console.WriteLine(guessGame.GenerateNumber()[i]);
            }
        }

测试运行:

看着核心思想,是肯定没有重复的了吧。

C#如何生成随机不重复的数字相关推荐

  1. php生成随机不重复的数字_PHP生成不重复随机数的几种方法

    无论是web前端还是wap移动应用的开发,都会遇到随机数的问题.虽然不是很难搞,但有时候还是真的琢磨不透.记录几个从网上找到的php生成随机数的方法,以备以后的不时之需. 方法一:<?php $ ...

  2. java生成不重复8位数字_如何生成8位随机不重复的数字编号

    在Java中难免会使用到生成随机不重复的数字编号的时候,那么你知道如何生成8位随机不重复的数字编号吗?下面我们就跟爱站小编一起去看看吧. package com.jjinfo.common.util; ...

  3. java 随机生成不重复的数字_生成8位随机不重复的数字编号的方法

    生成随机不重复的数字编号在某些情况下也会用到,本文以生成8位随机不重复的数字编号为例与大家分享下具体的实现过程,感兴趣的朋友可以参考下 package com.jjinfo.common.util; ...

  4. js生成随机不重复数字的几种方法

    三种方式实现生成随机不重复数字: <!DOCTYPE html> <html> <head><title>生成随机不重复数</title> ...

  5. python输出姓名_Python生成随机不重复姓名昵称

    姓采用百家姓,名字从常用名字高频字选取两个汉字,再和当前时间戳组合,估计应该是不会重复了,代码如下: # -*- coding:utf-8 -*- import random import time ...

  6. java生成随机数组_JAVA生成随机数组10个数字并求和

    JAVA生成随机数组10个数字并求和 本文最终结果大概是这样的',使用java技术随机生成10个数,然后填充一个数组并在消息框中显示数组内容,接着对数组求和输出,将结果显示在消息框中. 设计思路:可以 ...

  7. 如何生成随机不重复的11位数字

    要求 不重复 随机 11位数字 不占存储 我们都知道11位数字(random)对应有最大值max和最小值min99999999999和10000000000.很简单的从最小值开始按顺序分发到最大值,就 ...

  8. 关于生成随机不重复号码的算法迭代过程

    业务需求 调用服务需要生成一个随机的.不重复的8位数以内的号码. 方案一: 号码池 当看到需求时,首先想到的是采用号码池来实现. 实现方式 初始化阶段就先将所有的8位数以内的号码生成号,然后进行随机打 ...

  9. 生成随机不重复数组(matlab的randperm)

    应用场景:首先说明下自己的应用场景,在图像处理算法中,需要产生0~255随机不重复的整数,来制作一个LUT(查找表).在网上找了很多,有C++等各种洗牌算法.但还是觉得matlab的randperm更 ...

  10. 【PHP】php生成一个不重复的数字(订单号、会员号)

    1.目的:利用php的do .. while 生成一个不重复的字符串或者数组,比如(订单号.会员号) 2.不废话,代码来: $repeat_order = array();do{$ordersn = ...

最新文章

  1. 发送Request Payload数据演示
  2. 房住不炒,来真的了?
  3. cond_resched()
  4. 1.10 对象序列化控制输入输出
  5. Android 急速发布项目到 JitPack
  6. Java读写二进制文件
  7. 【微信小程序】java最简单观察者模式
  8. python设计一个动物类_我用Python实现了12500张猫狗图像的精准分类
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的二手房交易系统
  10. 以修改注册表的方式避免ACK确认机制带来的延时现象
  11. itext根据数据生成PDF
  12. java中线程的生命周期_Java中的线程生命周期– Java中的线程状态
  13. Windows系统下长ping记录日志小工具
  14. 声音文件格式、常见的数字音频格式
  15. 华三计算机网络笔试题,软考网络工程师试题
  16. Linus Torvalds 传记
  17. linux安装vscode(中标麒麟+龙芯CPU)
  18. 青龙面板2.8版本+Ninja 保姆级 服务器安装jd代挂教程——(二)
  19. 等你来战 | 第五届“强网”拟态防御国际精英挑战赛报名开启!
  20. superl-url,关键词URL采集工具

热门文章

  1. python链接MySQL数据库
  2. 硬盘读写测试工具_买了固态硬盘不知好坏?这些测试工具帮你大忙
  3. 全网疯传的PDF干货合集,50个精选BAT等大厂大数据、算法落地经验,白拿不谢!...
  4. 重磅!Apache Flink 1.11 功能前瞻来啦
  5. Flink Batch SQL 1.10 实践
  6. python实现excel的覆盖写入和追加
  7. 桌面上计算机点击后,怎样设置电脑的鼠标点击后窗口(也就是桌面上点一下出来的窗口)为自己另类设计的个性窗口图案?求高手。...
  8. 二叉排序树的中序遍历规律_王道数据结构|第四章 树与二叉树 04 二叉树的遍历...
  9. 32位oracle_ORACLE如何优化代码将查询速度从5s提升到0.1s
  10. python常用网站信息收集:持续更新版本--