1樓:匿名使用者
在開發過程中,常常要產生隨機數,如生成靜態 html 網頁時,檔名通常用產生隨機數的方式獲得,生成定單的時候,定單號也可以用產生隨機數的方式獲得等。
在 c# 中,一般都用 random 產生隨機數,它可任意指定產生隨機數範圍。random 結合陣列,可以產生一些特殊範圍的隨機數,以滿足特殊的需要。
一、用 random 產生指定範圍隨機數
1、產生指定上限的隨機數(如產生100以內的隨機數)
random ran = new random();
int n = ran.next(100);
2、產生指定上下限的隨機數(如產生100到1000的隨機數)
random ran = new random();
int n = ran.next(100, 1000);
二、用 random 結合陣列產生指定範圍隨機數
在某些情況下,隨機數只能取一些特殊指定的值,如不連續的數字或指定的一些單詞等,此時僅用 random 無法達到要求,必須借住陣列才能實現。實現思路大概是這樣:先把這些特殊的值存到陣列中,然後把陣列的長度作為 random 的上限產生隨機數,此隨機數正是陣列的下標,根據該下標取得陣列的值。
1、示例一
假如要產生不連續的隨機數,**如下:
public string getrandom(string arr)
呼叫方法:
string arr = ;
getrandom(arr);
2、示例二
假如要用指定單詞作為隨機數的取值,**實現跟示例一相同,所不同的僅是隨機數的取值,所以只要定義乙個單詞陣列直接呼叫上面**即可。
呼叫方法:
string arr = ;
getrandom(arr);
以上兩種產生指定隨機數的方法,都通過測試,可根據實際開發需要靈活選擇,一般情況都是直接用 random 就可以了
2樓:匿名使用者
random r = new random();
int x = r.next();
//生成乙個100到1000之間的隨機數
int y = r.next(100, 1000);
3樓:稱其英茹癸
使用random類中的next()方法。
例如,生成乙個100以內的隨機數:
random r = new random();
int i = r.next(100);函式next()中傳入的引數100表示隨機數最大為100.
c#怎麼實現取1-100之間的隨機數
4樓:匿名使用者
random r = new random();
int num = r.nextinteger(1,101);
這樣隨機數才是1-100.那個函式是不包括上限在內的
5樓:草薙在
new random().nextinteger(1,100)
6樓:匿名使用者
random ui = new random();
int myint = ui.next(1,101);
7樓:努力_蝸牛
random r = new random();
int number = r.nextinteger(1,101);
1-100的隨機數
8樓:愛貓膩老婆子
使用random寫唄..
c#中如何從陣列中獲取乙個隨機數
9樓:匿名使用者
最簡單的就是用random產生1個隨機數,隨機數的範圍為0~xx.length-1;這樣的話比如陣列是20個數,那麼殘生的隨機數n就在(0~19)之間,然後把n帶進陣列xx[n]就可以取出隨機索引的數了撒~ int xx = new int [3] ;
random r = new random(); int n = r.next(0, xx.length-1);xx[n]就是隨機取出的數
10樓:匿名使用者
通過使用random自動生成乙個隨機數,確定陣列的下標,從而活得隨機乙個陣列
string item=new string[4] ;
random r = new random();
string fi1 = item[r.next(item.length)];
11樓:匿名使用者
在c#中獲取隨機數有三種方法:
一.random 類random類預設的無參建構函式可以根據當前系統時鐘為種子,進行一系列演算法得出要求範圍內的偽隨機數.view sourceprint?
1 random rd = new random(); 2 int i = rd.next();這種隨機數可以達到一些要求較低的目標,但是如果在高併發的情況下,random類所取到的系統時鐘種子接近甚至完全一樣,就很有可能出現重複,這裡用迴圈來舉例view sourceprint? 1for (int i = 0; i < 10; i++) 2這個例子會輸出10個相同的"隨機數".
突顯出的問題:因為random進行偽隨機數的演算法是固定的,所以根據同乙個種子計算出的數字必然是一樣的.而以當代計算機的執行速度,該迴圈幾乎是在瞬間完成的,種子一致,所以會出現10次迴圈輸出同一隨機數的情況.
二.guid 類system.guidguid (globally unique identifier) 全球唯一識別符號guid的計算使用到了很多在本機可取到的數字,如硬體的id碼,當前時間等.
所計算出的128位整數(16位元組)可以接近唯一的輸出.view sourceprint? 1 console.
writeline(guid.newguid().tostring());
計算結果是******xx-***x-***x-***x-************結構的16進製制數字.
三.rngcryptoserviceprovider 類system.security.
cryptography.rngcryptoserviceprovider rngcryptoserviceprovider 使用加密服務提供程式 (csp) 提供的實現來實現加密隨機數生成器 (rng)view sourceprint? 1rngcryptoserviceprovider csp = new rngcryptoserviceprovider(); 2byte bytecsp = new byte[10]; 3csp.
getbytes(bytecsp); 4console.writeline(bitconverter.tostring(bytecsp));因該類使用更嚴密的演算法.
所以即使如下放在迴圈中,所計算出的隨機數也是不同的.view sourceprint? 1for (int i = 0; i < 10; i++) 2view sourceprint?
1但是rngcryptoserviceprovider的計算較為繁瑣,在迴圈中使用會消耗造成大量的系統資源開銷,使用時需注意.
四.membership.generatepassword()membership是乙個方便快捷的進行角色許可權管理的類,偶然發現乙個很有意思的方法,跟隨機數也擦點邊吧view sourceprint?
01public static string generatepassword(int length, int numberofnonalphanumericcharacters); 02// 03// 摘要: 04// 生成指定長度的隨機密碼。 05// 06// 引數:
07// numberofnonalphanumericcharacters: 08// 生成的密碼中的標點字元數。 09// 10// length:
11// 生成的密碼的字元數。長度必須介於 1 和 128 個字元之間。 12// 13// 返回結果:
14// 指定長度的隨機密碼。
例:view sourceprint? 1for (int i = 0; i < 10; i++) 2
12樓:匿名使用者
int xx = new int[3] ;
int x;
random r = new random();
x = r.next(4, 6);
c#怎麼取隨機數?
13樓:匿名使用者
使用random類中的next()方法。
例如,生成乙個100以內的隨機數:
random r = new random();
int i = r.next(100);
函式next()中傳入的引數100表示隨機數最大為100.
14樓:匿名使用者
random random = new random();//生成隨機數
public void panduanshuju()//處理資料if (num[2] < num[3])//呼叫類,判斷num[2]num[3]大小
num[6] = num[6] * num[7];//實現整除}計算器的部分例子
15樓:匿名使用者
int n=new random().next(6) + 1;
16樓:幸巴達
提問之前為什麼不搜尋一下呢?
17樓:蒲仕龍
(random()*10)%6 + 1
18樓:
random()函式
19樓:匿名使用者
new random()
c#中怎樣用random產生1到10之間的隨機數
20樓:墨汁諾
1、@echo off
rem 用random產生1到10之間的乙個隨機數set num=%random%
set /a num=num%%10+1
echo %num%
1到1000:
2、rnumber.next(1,1000);
random rnumber = new random();//例項化乙個隨機數專物件
rnumber.next(1,10);//產生乙個1到10之間屬的任意乙個數
rnumber.next(1,1000);//產生乙個1到1000之間的任意乙個數
21樓:匿名使用者
random randobj = new random();
int start=1;//隨機數可取該下界值int end=10;//隨機數不能取該上界值for( int j= start ; j < end; j++ ) ",randobj.next( start, end) );
}就可以生成1-10之間的隨機數了
你再把start=1和end=1000就可以了 產生1到1000之間的隨機數
c中怎麼獲取1到100的隨機數,C中怎麼獲取1到100的隨機數?
random randow new random console.writeline randow.next 100 1 c 怎麼獲取隨機數 在開發過程中,常常要產生隨機數,如生成靜態 html 網頁時,檔名通常用產生隨機數的方式獲得,生成定單的時候,定單號也可以用產生隨機數的方式獲得等。在 c 中...
怎麼用c 生成指定隨機數,在c 裡怎麼弄隨機數?
include include include using namespace std int main srand unsigned time null 初始化時間種子 int ret rand 3 產生 0 1 2 三種隨機數 int real pow 2,ret 2的0次方 1 2的1次方2 ...
C 生成0 100之間的隨機數怎麼都是
include include include using namespace std int main for i 0 i 3 i 這個是不行的!還有你的程式,我改過啦!你在看一下!參自見如下 include include include void main 的隨dao機數 拜託,你的輸出怎麼搞...