国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#生成不重復隨機數的方法

2019-11-14 15:49:58
字體:
來源:轉載
供稿:網友

在使用Random類生成隨機數時,我們可能會碰到生成隨機數重復的問題。

比如我們要生成6位數字驗證碼,雖然也是使用Random,但是可能出現111111,999999這樣的情況。

這是因為在實例化Random類時,如果隨機種子不填寫,默認是以時間線作為種子進行偽隨機運算,當計算運行速度過快時,導致所有的隨機種子都是一個值。

解決的方法也很簡單,我們使用Guid的哈希碼作為種子值,就不會重復了,代碼如下:

 1     public class RandomHelper 2     { 3         /// <summary> 4         ///生成制定位數的隨機碼(數字) 5         /// </summary> 6         /// <param name="length"></param> 7         /// <returns></returns> 8         public static string GenerateRandomCode(int length) 9         {10             var result = new StringBuilder();11             for (var i = 0; i < length; i++)12             {13                 var r = new Random(Guid.NewGuid().GetHashCode());14                 result.Append(r.Next(0, 10));15             }16             return result.ToString();17         }18     }

Done.

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 钟祥市| 景谷| 河北省| 离岛区| 兰考县| 英德市| 南京市| 孟村| 砀山县| 元江| 曲水县| 雅江县| 鸡西市| 宜丰县| 吉安市| 浮梁县| 南城县| 北票市| 长治县| 北碚区| 沅江市| 遂川县| 潮州市| 习水县| 绥中县| 巢湖市| 通山县| 辽阳县| 汉阴县| 闸北区| 太仓市| 财经| 玉环县| 桐城市| 司法| 元阳县| 林甸县| 大悟县| 余干县| 枞阳县| 北安市|