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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
springsecurity 企业微信登入的实现示例
![](https://img.aspxhome.com/file/2023/0/57490_0s.jpg)
Java导出Execl疑难点处理的实现
![](https://img.aspxhome.com/file/2023/3/80293_0s.png)
java语言实现猜数字游戏
![](https://img.aspxhome.com/file/2023/6/59206_0s.jpg)
Java中List使用stream流转成map的几种方式详解
Intellij Idea中批量导入第三方jar包的全过程
![](https://img.aspxhome.com/file/2023/1/63661_0s.png)
C#配置文件Section节点处理总结
![](https://img.aspxhome.com/file/2023/1/81061_0s.png)
java基于netty NIO的简单聊天室的实现
![](https://img.aspxhome.com/file/2023/7/69697_0s.png)
使用java为pdf添加书签的方法(pdf书签制作)
![](https://img.aspxhome.com/file/2023/0/73100_0s.jpg)
使用@pathvariable与@requestparam碰到的一些问题及解决
![](https://img.aspxhome.com/file/2023/9/60459_0s.png)
JAVA开发常用类库UUID、Optional、ThreadLocal、TimerTask、Base64使用方法与实例详解
Java调取创蓝253短信验证码的实现代码
SpringBoot统一返回JSON格式实现方法详解
详解Java中多进程编程的实现
java应用占用内存过高排查的解决方案
![](https://img.aspxhome.com/file/2023/4/77464_0s.jpg)
C#中判断某类型是否可以进行隐式类型转换
重温C# clr 笔记总结
SpringBoot中shiro过滤器的重写与配置详解
Jpa Specification如何实现and和or同时使用查询
Java引用传递和值传递栈内存与堆内存的指向操作
![](https://img.aspxhome.com/file/2023/9/79229_0s.jpg)