精品国产亚洲一区二区三区,男女作爱在线观看免费网站,欧美的又大又长做禁片A片,97国产精品人妻无码久久久
注冊
|
提交需求
|
訂閱
|
English
首 頁
解決方案
產(chǎn) 品
服 務
支 持
EDN系統(tǒng)
成功案例
關于我們
聯(lián)系我們
樹結構圖
EDN系統(tǒng)
圖形圖像
網(wǎng)絡安全
項目專題
WEB開發(fā)
辦公系列
操作系統(tǒng)
數(shù)據(jù)庫
程序設計
TOP 10
在Foxmail中如何使…
Ftp 子命令
BigDecimal
MSN在線客服功能模塊使…
會員卡使用方法說明
DataInputStr…
留言板功能說明
CScript
BufferedInpu…
設置打印機
您現(xiàn)在的位置:
>
技術沙龍
>
WEB開發(fā)
>
ASP
>
ASP.net中隨機數(shù)應用實例
相關軟件
>
ASP.net中隨機數(shù)應用實例
創(chuàng)建者:
webmaster
更新時間:
2005-07-02
00:14
??大家可能都用過Chinaren的校友錄,不久前它的留言簿上加了一個防止灌水的方法,就是系統(tǒng)每次產(chǎn)生一個由隨機的數(shù)字和字母組成的圖片,每次留言必須正確地輸入這些隨機產(chǎn)生的字符,否則不能添加留言。這是一個很好的防止惡意攻擊的方法,其核心的技術就是如何產(chǎn)生隨機數(shù)。Chinaren網(wǎng)站是使用PHP實現(xiàn)的,而我們可以充分利用ASP.net的強大功能很輕易地實現(xiàn)。
??在.net Framework中提供了一個專門用來產(chǎn)生隨機數(shù)的類System.Random,使用這個類時必須導入System命名空間。當然,命名空間System在每個ASP.net頁面中都是自動導入的,所以我們可以直接使用這個類。
??對于隨機數(shù),大家都知道,計算機不可能產(chǎn)生完全隨機的數(shù)字,所謂的隨機數(shù)發(fā)生器都是通過一定的算法對事先選定的隨機種子做復雜的運算,用產(chǎn)生的結果來近似的模擬完全隨機數(shù),這種隨機數(shù)被稱作偽隨機數(shù)。偽隨機數(shù)是以相同的概率從一組有限的數(shù)字中選取的。所選數(shù)字并不具有完全的隨機性,但是從實用的角度而言,其隨機程度已足夠了。偽隨機數(shù)的選擇是從隨機種子開始的,所以為了保證每次得到的偽隨機數(shù)都足夠地“隨機”,隨機種子的選擇就顯得非常重要。如果隨機種子一樣,那么同一個隨機數(shù)發(fā)生器產(chǎn)生的隨機數(shù)也會一樣。一般地,我們使用同系統(tǒng)時間有關的參數(shù)作為隨機種子,這也是.net Framework中的隨機數(shù)發(fā)生器默認采用的方法。
??我們可以使用兩種方式初始化一個隨機數(shù)發(fā)生器:
??第一種方法不指定隨機種子,系統(tǒng)自動選取當前時間作為隨機種子:
??Random ro = new Random();
??第二種方法可以指定一個int型參數(shù)作為隨機種子:
??int iSeed=10;
??Random ro = new Random(10);
??之后,我們就可以使用這個Random類的對象來產(chǎn)生隨機數(shù),這時候要用到Random.Next()方法。這個方法使用相當靈活,你甚至可以指定產(chǎn)生的隨機數(shù)的上下限。
??不指定上下限的使用如下:
??int iResult;
??iResult=ro.Next();
??下面的代碼指定返回小于100的隨機數(shù):
??int iResult;
??int iUp=100;
??iResult=ro.Next(iUp);
??而下面這段代碼則指定返回值必須在50-100的范圍之內(nèi):
??int iResult;
??int iUp=100;
??int iDown=50;
??iResult=ro.Next(iDown,iUp);
??除了Random.Next()方法之外,Random類還提供了Random.NextDouble()方法產(chǎn)生一個范圍在0.0-1.0之間的隨機的雙精度浮點數(shù):
??double dResult;
??dResult=ro.NextDouble();
??另外一個與Random.NextDouble()方法相似的方法是Random.Sample(),它跟Random.NextDouble()方法唯一的區(qū)別在于訪問級別,我們可以看看它們的原始聲明:
??protected virtual double Sample();
??public virtual double NextDouble();
??Random.Sample()方法是保護方法,只允許子類的對象訪問,而Random.Sample()方法則可以看作是Random.Sample()的公開版本。一般地,用戶在Random的子類中重寫Sample()方法來得到更一般的分布。
相關文章
前一則:
ASP設計常見問題及解答精要
后一則:
使用ASP建設私人搜索引擎
本頁查看次數(shù):
公司公告
|
客戶調(diào)查
|
法律聲明
|
誠聘英才
|
給我們投稿
|
繁
閃
頭像
京ICP備05031245號
Copyright @ REDCOME.com ALL Rights Reserved
北京怡康軟件科技有限公司 地址:北京市昌平區(qū)東小口立湯路188號北方明珠大廈1號樓2708 郵編:102218 電話:84909966 傳真:84909900 QQ:335601661