练习:

上一篇博客使用LIST集合来存储随机数,但是LIST<>可以存储重复数据,也就是说在选定区间内多次使用随机数可能出现重复,

例如从1到10选9个数那么很大概率会选取重复的数字。

暂时没想出有什么好办法可以解决随机数重复的问题

偶然间发现HashSet<>的Add()方法不可以写入重复元素,随机数重复的问题也就迎刃而解了。

美中不足的是HashSet中的元素是无序的。。。

从下面可以看到没有重复,但是数字的没有排序。。。不知道这个问题如何解决

直接复制过来代码:

using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 抽号
{public partial class NumForm : Form{public NumForm(){InitializeComponent();}public void c(){txtFrom.Text = "";txtQuan.Text = "";txtRe.Text = "";txtTo.Text = "";}private void timer1_Tick(object sender, EventArgs e){//星星lblTop.Text = lblTop.Text.Substring(1) + lblTop.Text.Substring(0, 1);}///开始按钮private void btnStart_Click(object sender, EventArgs e){if (txtFrom.Text == "" | txtTo.Text == "" | txtQuan.Text == ""){MessageBox.Show("请输入完整信息");return;}int x = int.Parse(txtFrom.Text);int y = int.Parse(txtTo.Text);int n = int.Parse(txtQuan.Text);HashSet<int> Set = new HashSet<int>();Random r = new Random();aa: for (int i = 1; i <= n; i++){Set.Add(r.Next(x, y + 1));}if (n != Set.Count){Set.Clear();goto aa;}foreach (int a in Set){txtRe.Text += "--" +a.ToString()+"--";}}private void NumForm_Load(object sender, EventArgs e){this.ActiveControl = this.txtFrom;}private void btnReset_Click(object sender, EventArgs e){c();}}
}

用HashSet/Random写摇号器(数字不重复、无序)相关推荐

  1. C#制作一个简易抽奖或摇号器

    自己制作了一个简易的摇号器,使用的是C#语言,利用随机数,在一个richtextbox里产生随机数字,利用两个numericupdown来控制范围和个数. 如图 给摇号button添加click事件 ...

  2. 第二篇T语言实例开发(版本5.3),福彩3D摇号器

    福彩3D摇号器 先验知识功能的含义与使用 功能是TC源程序的基本模块,通过对功能模块的调用实现特定的功能,TC语言中的功能相当于其他高级语言的子程序. 在TC里面,功能分为三大部分: TC库功能:这类 ...

  3. java 随机点名器和随机摇号器

    java实训20210810 java 随机点名器 和 随机摇号器 随机点名器,即在全班同学中随机的打印出一名同学名字. 要做的随机点名器,它具备以下3个内容:  存储所有同学姓名  总览全班同学 ...

  4. 彩票摇号器java代码_多线程的简单应用----彩票摇号器

    效果图: package game; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.Ac ...

  5. Flash 摇号器(支持姓名导入)

    寒假无事,朋友要做个年终奖发奖用的抽奖摇号器.支持名字导入(用excel保存为123.xml文件,且在相同目录下xml文件夹内,123.xml中第一列为序号,第二列为姓名),显示,列出等功能.现将我做 ...

  6. 简易摇号器——学习WindowsPhone上的Timer

    C#中有三种常用的Timer,分别是 1.System.Windows.Forms.Timer 2.System.Threading.Timer 3.System.Timers.Timer 而在Win ...

  7. 如何用alpinejs制作一个机选摇号器

    <div class="container" x-data="jixuan()" x-init="() => {getRandFive() ...

  8. C#,WINFORM,随机数生成,摇号器(初步作品)

    练习,摇号~ 还没弄出来LIST集合中重复元素判断部分 现在的号码还会有重复 小细节不完善 基本功能仅限于两个数字区间内选取几个随机数 日后更新~ 完整代码: using System; using ...

  9. 用linux模拟彩票摇号器下载,大乐透模拟摇奖器拟选号器

    大乐透模拟摇奖器拟选号器是一款非常实用的彩票app,它给你带来了强大的模拟选号功能,同时也可以让小伙伴们更加钻研选号规律,让你能够轻松赢得大奖,只要你掌握一门技术,就可以稳步提升自己的收益哦,喜欢的朋 ...

最新文章

  1. 解读eXtremeComponents代码结构--转载
  2. Java代码注释规约
  3. euler‘s formula
  4. GreenDao3.2简单使用
  5. 机器学习基础-决策树-12
  6. AODV中实施watchdog
  7. 设置密码命名是什么linux,orapwd 工具建立密码文件遵守的命名方法
  8. 首届React开发者大会于2018年8月18日在广州举办
  9. 【记录】idea创建springboot多模块项目
  10. 添加RPMfusion仓库
  11. ps怎么一下选中多个图层_ps新手入门之蒙版工具
  12. python学生成绩分析与预测
  13. Expandable Button
  14. python f检验 代码_python f检验
  15. 一份热乎乎的字节面试真题
  16. 2012 九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
  17. Autoware Docker安装和仿真
  18. Flutter 与 RN对比
  19. android 记录路线轨迹_Android定位并记录轨迹项目源码
  20. 金融day03 —— 银行支付结算、银行资产业务

热门文章

  1. 爷青回|用Python重构【愤怒的小鸟】小游戏来啦~ 免费下载源码
  2. 228-服务端注销业务
  3. Lower Power with CPF(四)
  4. Prouteus 定时中断 控制流水灯的实现
  5. 了解Linux的一小步
  6. Rapider Minner使用教程
  7. ad元件定位孔放在哪一层_施工现场定位放线、基础施工放线、主体施工放线,图文详解...
  8. ArrayList源码解析——基于JDK1.8
  9. 雷电模拟器4.0无法设置代理的问题
  10. CCF交通规划--SPFA和dist数组