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


猜你喜欢
- 前言话不多说,直接上图:笔者使用 RecyclerView 的 ItemTouchHelper 来实现这个效果,过程非常简单。为了学习,这里
- 本文所述为基于C#实现的多人聊天程序服务端与客户端完整代码。本实例省略了结构定义部分,服务端主要是逻辑处理部分代码,因此使用时需要完善一些窗
- 前言Android中类加载器有BootClassLoader,URLClassLoader,PathClassLoader,DexClass
- 一、数据输出SpringMVC将数据携带给页面的储存工具,有三种,map,ModelMap,model,它们在底层实质还是使用到了Bindi
- 背景介绍在开发应用过程中经常会遇到显示一些不同的字体风格的信息犹如默认的LockScreen上面的时间和充电信息。对于类似的情况,可能第一反
- 前言在Spring Boot中有一个注释@Async,可以帮助开发人员开发并发应用程序。但使用此功能非常棘手。在本博客中,我们将了解如何将此
- 一般而言,Spring的依赖注入有三种:构造器注入、setter注入以及接口注入。本文主要讲构造器注入与setter注入。1、构造器注入为了
- 最近接触了Android自定义控件,涉及到自定义xml中得属性(attribute),其实也很简单,但是写着写着,发现代码不完美了,就是在a
- 上一章说明了DataBinding生存的类之间关系,现在这里来看看布局是如何加载的以及view是如何映射的。一、布局加载这里把之前的代码重新
- 前言无意中翻到几年前写过的一个RatingBar,可以拖拽,支持自定义星星图片,间距大小等参数。自定义参数为了方便扩展,支持更多的样式,这里
- 在安全卫生上,经常看到有圆形的进度条在转动,效果非常好看,于是就尝试去实现一下,具体实现过程不多说了,直接上效果图,先炫耀下。效果图:分析:
- 引入:前段时间去银行办业务,排队的人那是真多,自己正式办理业务也就不到5分钟,但是却足足等了两个小时(相信很多人都遇到过这种情况),对这种服
- Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来。定义Java类时如果没有显示
- 单例模式(Singleton),故名思议就是说在整个应用程序中,某一对象的实例只应该存在一个。比如,一个类加载数据库中的数据到
- 为了实现毛玻璃效果,我们需要一组compute kernels(.rs文件中编写),及一组用于控制renderScript相关的Javaap
- 作者:京东零售 张宾1.背景在后台开发中,会经常用到线程池技术,对于线程池核心参数的配置很大程度上依靠经验。然而,由于系统运行过程中存在的不
- 注:由于工作需要, 也是第一次接触到打印机的相关内容, 凑巧, 通过找了很多资料和帮助后, 也顺利的解决了打印标签的问题(标签的表面信息[二
- Bezier Curve算法是根据参数曲线方程来得到光滑曲线的一种算法,曲线方程的参数由控制点决定。其本质是由调和函数根据控制点插值而成,其
- 实例如下:func exitApplication() { let app = UIApplication.sh
- 本文实例为大家分享了JS Struts2多文件上传的具体代码,供大家参考,具体内容如下1、JSP页面: JS控制增加删除多个上传文件框,代码