C# Random类随机函数实例详解
作者:IC00 发布时间:2021-09-12 04:26:42
引言
Random类是非常值得学习的一个类,所以我们今天一起学习一下Random这个类,对于模拟数据这个是随机类可是一个好东西,我们可以用这个随机函数模拟我们想要的数据,从而实现数据模拟,为了更好的学习随机数Random,我们做一个随机挑选饭菜的随机选择器,为了更好的学习,创作不易,点赞关注评论收藏!!!你的点赞是我学习的动力,你点赞是我创作的方向。
一、创建界面
我们平时有选择恐惧症的,每天的人生难题就是今天吃上面,我就是这样,每天下班不知道去吃什么,很难做出决断,于是趁着我们学习Random类这个随机函数,我们就做一个随机吃饭器,把你周边的店或者菜系添加进去,排好序再用Random函数随机产生一个数值,替我们选择菜系,这样就可以不用选择了,但是你必须要听它这个的,不然就没效果了不,我就把随机函数写进去了,既学习了又解决生活的问题了。哈哈哈!!
二、效果展示
效果展示一下,我们点击这个随机抽取会产生随机数,并通过Switch的方法去选择我们写好的菜系,从而达到随机挑选菜系,具体效果如下图。
三、Random类方法
这个就是Random的方法,Next是我们用的比较多的一个方法,它可以不要参数,也可以是一个参数,我用的比较多的是两个参数的,在某个范围之内的产生随机数,当然NextBytes也是比较好用的对于我们需要模拟数据赋值给byte数组时,这个就起到很好的作用。
NextDouble ()和NextSingle(),前者是Double,后者是float,只有这个区别,而这个Sample ();
只是介于0.0和1之间不会相等,前面哪两个会相等。其他的和Next大同小异。
Next()
返回一个非负随机整数。
Next(Int32)
返回一个小于所指定最大值的非负随机整数。
Next(Int32, Int32)
返回在指定范围内的任意整数。
NextBytes(Byte[])
用随机数填充指定字节数组的元素。
NextBytes(Span<Byte>)
用随机数填充指定字节范围的元素。
NextDouble ();
返回一个大于或等于 0.0 且小于 1.0 的随机浮点数。
NextInt64()
返回一个非负随机整数。
NextInt64(Int64)
返回一个小于所指定最大值的非负随机整数。
NextInt64(Int64, Int64)
返回在指定范围内的任意整数。
NextSingle()
返回一个大于或等于 0.0 且小于 1.0 的随机浮点数。
Sample ();
返回一个介于 0.0 和 1.0 之间的随机浮点数。
四、代码逻辑
代码比较简单,只要记住在用Random的时候是需要new一个对象就可以了。
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 IC00Test822
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Random random = new Random();
switch(random.Next(1,17))
{
case 1: textBox1.Text = "糖醋排骨"; break;
case 2: textBox1.Text = "鱼香肉丝"; break;
case 3: textBox1.Text = "宫保鸡丁"; break;
case 4: textBox1.Text = "麻婆豆腐"; break;
case 5: textBox1.Text = "水煮鱼"; break;
case 6: textBox1.Text = "红烧肉"; break;
case 7: textBox1.Text = "棒棒鸡"; break;
case 8: textBox1.Text = "醋熘鸡"; break;
case 9: textBox1.Text = "圆笼粉蒸肉"; break;
case 10: textBox1.Text = "东坡肉"; break;
case 11: textBox1.Text = "东坡鱼"; break;
case 12: textBox1.Text = "泡菜鱼"; break;
case 13: textBox1.Text = "鸡豆花"; break;
case 14: textBox1.Text = "瓤莲藕"; break;
case 15: textBox1.Text = "板栗烧鸡"; break;
case 16: textBox1.Text = "水煮肉片"; break;
case 17: textBox1.Text = "可乐鸡翅"; break;
}
}
}
}
总结:
这篇文章比较简单,里面也已经写好了方法让我们调用就可以了,界面制作比较简单,但是是一个比较实用的一个小工具。今天我只是展示了很基本的操作,不是很难大家不要喷啊,很多时候我们都会意识到自己的才疏学浅,所以还是需要不断的学习
来源:https://juejin.cn/post/7135057055756320799
猜你喜欢
- 序言之前封装过一个日志注解,打印方法执行信息,功能较为单一不够灵活,近来兴趣来了,想重构下,使其支持表达式语法,以应对灵活的日志打印需求。该
- 本文实例讲述了Java设计模式之 * 模式。分享给大家供大家参考,具体如下:前面介绍了静态代理模式, * 比静态代理模式更加强大。它能在
- 一、百度百科Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防
- 本文实例讲述了Java使用Math.random()结合蒙特卡洛方法计算pi值。分享给大家供大家参考,具体如下:一、概述蒙特·卡罗方法(Mo
- 这篇文章主要介绍了springboot跨域CORS处理代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- mapper.xml中if标签test判断的用法1. 字符串等于条件的两种写法① 将双引号和单引号的位置互换<if test='
- 前提: 可以参考文章 SpringBoot 接入 SparkSpringBoot 已经接入 Spark已配置 JavaSparkContex
- 前言我们在上一篇文章 中以实例讲解如何定义和使用 lambda 表达式,以及与其它语言相比,lambda 表达式在 Java 中的特殊规范。
- 创建Avalonia的MVVM项目,命名DragDemo ,然后将项目的Nuget包更新到预览版<ItemGroup>
- maven配置阿里云镜像打开maven配置文件,找到标签,添加如下:<mirrors> <mirror>
- Java7中文件IO发生了很大的变化,专门引入了很多新的类:import java.nio.file.DirectoryStream;imp
- 前言: 由于前段时间,项目组长分配的任务是要完成一个在线编写SQL并要实现查询功能的需求,最终需要将查询到的数据以JSON格式显示到响应数据
- cookie机制和session机制的区别具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持
- springboot远程debug调试1.首先去编辑器打开项目2.打开Edit Configurations 选择remote选项
- java中的复杂查询sql语句实现:这样的查询栏,在页面中很常见,这就是复杂查询的条件,我们可以填写一个条件或多个条件,也可以一个都不填写,
- mybatis 映射文件中,if标签判断字符串相等,两种方式:因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串sex变量
- 目录前言一、技术介绍1.Minio是什么?二、使用步骤1.引入maven库2.封装Minio3.配置文件4.单元测试总结前言使用Spring
- Android application捕获崩溃异常怎么办?通用 application1、收集所有 avtivity 用于彻底退出应用2、捕
- 目录首先,写一个需求文档:一、登录界面1.界面2.登录3.退出二、开始游戏界面三、缓冲加载游戏界面四、游戏主界面五、结束界面上代码首先,写一
- 问题描述平常用的是java8,最近在学习java的新特性。这就需要从java8往更高的java版本切换。由于还在使用java8,测试完新特性