C#中的隨機(jī)數(shù)函數(shù)Random()
一、常用操作
- NextDouble():返回0-1.0之間的隨機(jī)數(shù)
- Next():返回非負(fù)隨機(jī)整數(shù)(0-216)
- Next(i):返回一個(gè)小于i的非負(fù)隨機(jī)整數(shù)
- Next(i,j):生成i – j 的隨機(jī)整數(shù)
- NextBytes(byte[]):用隨機(jī)整數(shù)(0-255)填充指定字節(jié)數(shù)組的各個(gè)元素。
System.Random r = new Random(); s1 = r.NextDouble().ToString();//0.868992506465405 s2 = r.Next().ToString(); //1665548020 s3 = r.Next(10).ToString(); //5 s4 = r.Next(1000, 2000).ToString();//1885 byte[] buffer = new byte[255]; r.NextBytes(buffer); s5 = buffer[254].ToString(); ;//207
二、種子操作
1、不指定隨機(jī)種子,則默認(rèn)有系統(tǒng)時(shí)鐘生成種子。
時(shí)間間隔如果太短,創(chuàng)建的多個(gè)不同的Ramdom對(duì)象將具有相同的默認(rèn)種子值,因而會(huì)產(chǎn)生幾組相同的隨機(jī)數(shù)。
System.Random r1 = new Random(); System.Random r2 = new Random(); Console.WriteLine(r1.Next().ToString());// 615672499 Console.WriteLine(r2.Next().ToString());// 615672499
使用單個(gè)Random對(duì)象生成所有隨機(jī)數(shù)可避免此問題。
System.Random r = new Random(); Console.WriteLine(r.Next().ToString());// 1933637733 Console.WriteLine(r.Next().ToString());// 1799552041
2、種子值相同時(shí),其隨機(jī)序列也相同。
System.Random r1 = new Random(1); System.Random r2 = new Random(1); System.Random r3 = new Random(2); byte[] buffer1 = new byte[2]; byte[] buffer2 = new byte[2]; byte[] buffer3 = new byte[2]; r1.NextBytes(buffer1); r2.NextBytes(buffer2); r3.NextBytes(buffer3); s1 = String.Join(",", buffer1);// 70,208 s2 = String.Join(",", buffer2);// 70,208 s3 = String.Join(",", buffer3);// 113,147
到此這篇關(guān)于C#生成隨機(jī)數(shù)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C#生成指定范圍內(nèi)的不重復(fù)隨機(jī)數(shù)
- C#中獲取、生成隨機(jī)數(shù)的三種方法
- 用C#生成不重復(fù)的隨機(jī)數(shù)的代碼
- C#實(shí)現(xiàn)在兩個(gè)數(shù)字之間生成隨機(jī)數(shù)的方法
- C#生成互不相同隨機(jī)數(shù)的實(shí)現(xiàn)方法
- C#生成隨機(jī)數(shù)的方法小結(jié)
- c#循環(huán)中產(chǎn)生偽隨機(jī)數(shù)
- C#可用于登錄驗(yàn)證碼的四位隨機(jī)數(shù)生成方法
- C# 生成隨機(jī)數(shù)的代碼
- c#中生成隨機(jī)數(shù)的五種方法
相關(guān)文章
C#常用數(shù)據(jù)結(jié)構(gòu)棧的詳細(xì)介紹
在C#中,Stack<T> 是一個(gè)后進(jìn)先出(LIFO,Last-In-First-Out)集合類,位于System.Collections.Generic 命名空間中,本文詳細(xì)介紹C#常用數(shù)據(jù)結(jié)構(gòu)棧,感興趣的朋友跟隨小編一起看看吧2024-09-09C#使用泛型實(shí)現(xiàn)刪除數(shù)組中重復(fù)元素
這篇文章主要為大家詳細(xì)介紹了C#如何使用泛型實(shí)現(xiàn)刪除數(shù)組中重復(fù)元素,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02C#實(shí)現(xiàn)綁定DataGridView與TextBox之間關(guān)聯(lián)的方法
這篇文章主要介紹了C#實(shí)現(xiàn)綁定DataGridView與TextBox之間關(guān)聯(lián)的方法,涉及C#綁定控件關(guān)聯(lián)性的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08微信公眾號(hào)被動(dòng)消息回復(fù)原理解析
這篇文章主要介紹了公眾號(hào)被動(dòng)消息回復(fù)原理解析,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06C#中的ICustomFormatter及IFormatProvider接口用法揭秘
這篇文章主要介紹了C#中的ICustomFormatter及IFormatProvider接口用法揭秘,本文能過分析一段代碼得出一些研究結(jié)果,需要的朋友可以參考下2015-06-06Unity實(shí)現(xiàn)簡(jiǎn)單場(chǎng)景分層移動(dòng)
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)簡(jiǎn)單場(chǎng)景分層移動(dòng),分為前景、場(chǎng)景、背景等,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09