码迷,mamicode.com
首页 > Windows程序 > 详细

C#随机数

时间:2015-05-06 12:59:39      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

   C#中有个Random类可以非常方便的产生一个随机数,但是在使用中你会发现这个类并不是特别好用,偶尔会一直提供同一个数,这里我将介绍另一个获取随机数的方法。

  GUID,全局唯一标识符。是一种由算法生成的唯一标识,通常表示成32个十六进制数字(0-9,A-F)组成的字符串,如:{21EC2020-3AEA-1069-A2DD-08002B30309D},它实质上是一个128位长的二进制整数。GUID的主要目的是产生完全唯一的数字。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID的总数也足够大,达到了2128(3.4×1038)个,所以随机生成两个相同GUID的可能性是非常小的,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。(以上介绍来自维基百科)

  实现方法很简单

string ra = Guid.NewGuid().ToString();//生成一个GUID
string[] sArray = ra.Split(-);//将GUID已‘-’分割成数组
int raNum = Convert.ToInt32(sArray[1].ToString(), 16) % 3960;//调用数组内的数据转成int类型

  sArray的下标取值范围0-6,由于我需要一个0-3960的随机数,所以我对3960取余。

  

C#随机数

标签:

原文地址:http://www.cnblogs.com/LandMine/p/4481372.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!