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

首頁 > 編程 > .NET > 正文

最簡單的.NET生成隨機數函數

2024-07-10 13:19:55
字體:
來源:轉載
供稿:網友
如果你做個實驗

復制代碼 代碼如下:


for (int i = 0; i > 100; i++)
{
Console.WriteLine(new Random(i).Next());
}


就會看到很有規律的一串數
許多人想到時間,DateTime.Now.Ticks,首先這個屬性是long,與Random構造函數的參數不符,你需要做一定處理,而且在機器很快的情況下,短時間內這個數字不會有變化,生成的“隨機數”也就都是一樣的。于是網上介紹的許多方法會用Ticks相乘、或者乘以i等做一些處理,讓這個種子看上去隨機一些,不過還是顯得麻煩。
其實,在.Net中,說道隨機,最先想到的就是Guid.NewGuid(),但Guid是Guid的格式,怎么轉換成你自己的格式呢?
HashCode!
.Net中,所有類繼承于object,而所有的object都會有Equals()和GetHashCode()兩個方法,而GetHashCode()的返回值,正是Random類構造函數所需要的int,這么方便的東西,我們當然要利用一下,所以,很容易寫下了如下代碼。

復制代碼 代碼如下:


static string GetCode(int num)
{
string a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
StringBuilder sb = new StringBuilder();
for(int i = 0; i < num; i++)
{
sb.Append(a[new Random(Guid.NewGuid().GetHashCode()).Next(0, a.Length -1)]);
}
return sb.ToString();
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛川县| 铜川市| 莫力| 汉寿县| 广平县| 高清| 屏南县| 马山县| 怀仁县| 岑溪市| 桑日县| 舒兰市| 唐海县| 承德市| 栾城县| 仁怀市| 增城市| 宜春市| 韶关市| 东辽县| 阿拉善盟| 贡嘎县| 永修县| 嘉善县| 东方市| 荃湾区| 齐河县| 武威市| 乌兰浩特市| 郸城县| 德州市| 义乌市| 天气| 五常市| 元氏县| 昌邑市| 抚宁县| 通辽市| 兴和县| 神池县| 青河县|