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

首頁 > 編程 > .NET > 正文

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

2020-01-18 01:16:39
字體:
來源:轉載
供稿:網友
如果你做個實驗
復制代碼 代碼如下:

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();
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 澜沧| 青浦区| 卫辉市| 溧水县| 抚州市| 密云县| 九台市| 泸定县| 会同县| 郓城县| 高州市| 平江县| 诏安县| 崇文区| 洛扎县| 湖南省| 博客| 泾源县| 西华县| 乌什县| 长岭县| 大竹县| 西青区| 阳曲县| 松溪县| 平潭县| 博乐市| 佳木斯市| 从化市| 石首市| 平谷区| 吉木萨尔县| 伊宁县| 民丰县| 金沙县| 高安市| 天津市| 荆门市| 六盘水市| 崇义县| 平利县|