C#?Random類隨機(jī)函數(shù)實(shí)例詳解
引言
Random類是非常值得學(xué)習(xí)的一個(gè)類,所以我們今天一起學(xué)習(xí)一下Random這個(gè)類,對(duì)于模擬數(shù)據(jù)這個(gè)是隨機(jī)類可是一個(gè)好東西,我們可以用這個(gè)隨機(jī)函數(shù)模擬我們想要的數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)模擬,為了更好的學(xué)習(xí)隨機(jī)數(shù)Random,我們做一個(gè)隨機(jī)挑選飯菜的隨機(jī)選擇器,為了更好的學(xué)習(xí),創(chuàng)作不易,點(diǎn)贊關(guān)注評(píng)論收藏?。?!你的點(diǎn)贊是我學(xué)習(xí)的動(dòng)力,你點(diǎn)贊是我創(chuàng)作的方向。
一、創(chuàng)建界面
我們平時(shí)有選擇恐懼癥的,每天的人生難題就是今天吃上面,我就是這樣,每天下班不知道去吃什么,很難做出決斷,于是趁著我們學(xué)習(xí)Random類這個(gè)隨機(jī)函數(shù),我們就做一個(gè)隨機(jī)吃飯器,把你周邊的店或者菜系添加進(jìn)去,排好序再用Random函數(shù)隨機(jī)產(chǎn)生一個(gè)數(shù)值,替我們選擇菜系,這樣就可以不用選擇了,但是你必須要聽(tīng)它這個(gè)的,不然就沒(méi)效果了不,我就把隨機(jī)函數(shù)寫(xiě)進(jìn)去了,既學(xué)習(xí)了又解決生活的問(wèn)題了。哈哈哈!!
二、效果展示
效果展示一下,我們點(diǎn)擊這個(gè)隨機(jī)抽取會(huì)產(chǎn)生隨機(jī)數(shù),并通過(guò)Switch的方法去選擇我們寫(xiě)好的菜系,從而達(dá)到隨機(jī)挑選菜系,具體效果如下圖。
三、Random類方法
這個(gè)就是Random的方法,Next是我們用的比較多的一個(gè)方法,它可以不要參數(shù),也可以是一個(gè)參數(shù),我用的比較多的是兩個(gè)參數(shù)的,在某個(gè)范圍之內(nèi)的產(chǎn)生隨機(jī)數(shù),當(dāng)然NextBytes也是比較好用的對(duì)于我們需要模擬數(shù)據(jù)賦值給byte數(shù)組時(shí),這個(gè)就起到很好的作用。
NextDouble ()和NextSingle(),前者是Double,后者是float,只有這個(gè)區(qū)別,而這個(gè)Sample ();
只是介于0.0和1之間不會(huì)相等,前面哪兩個(gè)會(huì)相等。其他的和Next大同小異。
Next()
返回一個(gè)非負(fù)隨機(jī)整數(shù)。
Next(Int32)
返回一個(gè)小于所指定最大值的非負(fù)隨機(jī)整數(shù)。
Next(Int32, Int32)
返回在指定范圍內(nèi)的任意整數(shù)。
NextBytes(Byte[])
用隨機(jī)數(shù)填充指定字節(jié)數(shù)組的元素。
NextBytes(Span<Byte>)
用隨機(jī)數(shù)填充指定字節(jié)范圍的元素。
NextDouble ();
返回一個(gè)大于或等于 0.0 且小于 1.0 的隨機(jī)浮點(diǎn)數(shù)。
NextInt64()
返回一個(gè)非負(fù)隨機(jī)整數(shù)。
NextInt64(Int64)
返回一個(gè)小于所指定最大值的非負(fù)隨機(jī)整數(shù)。
NextInt64(Int64, Int64)
返回在指定范圍內(nèi)的任意整數(shù)。
NextSingle()
返回一個(gè)大于或等于 0.0 且小于 1.0 的隨機(jī)浮點(diǎn)數(shù)。
Sample ();
返回一個(gè)介于 0.0 和 1.0 之間的隨機(jī)浮點(diǎn)數(shù)。
四、代碼邏輯
代碼比較簡(jiǎn)單,只要記住在用Random的時(shí)候是需要new一個(gè)對(duì)象就可以了。
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 = "魚(yú)香肉絲"; break; case 3: textBox1.Text = "宮保雞丁"; break; case 4: textBox1.Text = "麻婆豆腐"; break; case 5: textBox1.Text = "水煮魚(yú)"; 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 = "東坡魚(yú)"; break; case 12: textBox1.Text = "泡菜魚(yú)"; 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 = "可樂(lè)雞翅"; break; } } } }
總結(jié):
這篇文章比較簡(jiǎn)單,里面也已經(jīng)寫(xiě)好了方法讓我們調(diào)用就可以了,界面制作比較簡(jiǎn)單,但是是一個(gè)比較實(shí)用的一個(gè)小工具。今天我只是展示了很基本的操作,不是很難大家不要噴啊,很多時(shí)候我們都會(huì)意識(shí)到自己的才疏學(xué)淺,所以還是需要不斷的學(xué)習(xí)
以上就是C# Random類隨機(jī)函數(shù)實(shí)例詳解的詳細(xì)內(nèi)容,更多關(guān)于C# Random類隨機(jī)函數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳解C#對(duì)路徑...的訪問(wèn)被拒絕解決過(guò)程
這篇文章主要介紹了詳解C#對(duì)路徑...的訪問(wèn)被拒絕解決過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12基于C#實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲(chóng) C#抓取網(wǎng)頁(yè)Html源碼
這篇文章主要為大家詳細(xì)介紹了基于C#實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲(chóng)的相關(guān)資料,即C#抓取網(wǎng)頁(yè)Html源碼,感興趣的小伙伴們可以參考一下2016-03-03Python設(shè)計(jì)模式編程中的備忘錄模式與對(duì)象池模式示例
這篇文章主要介紹了Python設(shè)計(jì)模式編程中的備忘錄模式與對(duì)象池模式,文中分別舉了表單和線程的相關(guān)示例,需要的朋友可以參考下2016-02-02Unity技術(shù)手冊(cè)之Toggle切換使用實(shí)例
這篇文章主要為大家介紹了Unity技術(shù)手冊(cè)之Toggle切換使用實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11C#使?XmlReader和XmlWriter操作XML?件
這篇文章介紹了C#使?XmlReader和XmlWriter操作XML?件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06C#中的char、string和StringBuilder的使用詳解
這篇文章主要介紹了C#中的char、string和StringBuilder的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07C#中Response.Write常見(jiàn)問(wèn)題匯總
這篇文章主要介紹了C#中Response.Write常見(jiàn)問(wèn)題匯總,總結(jié)了C#中Response.Write的常用技巧,非常實(shí)用,需要的朋友可以參考下2014-09-09