概述
随机数字在生活中的应用非常普遍,比如年会随机抽奖、生成唯一的序列号、验证码等等,这节内容就通过实例演示几种常用的生成随机数的方法.
方法一:Random
这里就通过一个抽奖的小程序来演示这个功能:比如某个科室有十个人,然后领导通过点击鼠标enter暂停来随机抽取中奖的人:.
static void Main(string[] args){List<string> nameList = new List<string>() { "梦琪","忆柳","之桃","慕青","问兰","尔岚","元香","初夏","沛菡","曼文"};bool flag = true;while (flag){Console.Clear();Random rd = new Random(); //无参即为使用系统时钟为种子Console.WriteLine(nameList[rd.Next(0, 9)]);Thread.Sleep(100);Task.Run(()=>{if (Console.ReadKey().Key == ConsoleKey.Enter){flag = false;}});}Console.ReadKey();}
运行演示:

这里Next是一个虚方法,可以被重写,原型如下:
public virtual int Next(int minValue, int maxValue);解释:返回在指定范围内的任意整数。
//// 摘要:// 返回在指定范围内的任意整数。//// 参数:// minValue:// 返回的随机数字包含下限。//// maxValue:// 返回随机数的不含上限。maxValue必须大于或等于minValue。//// 返回结果:// 32 位有符号的整数大于或等于minValue和小于maxValue; 即,返回值的范围包括minValue但不是maxValue。如果minValue等于maxValue,minValue返回。//// 异常:// T:System.ArgumentOutOfRangeException:// minValue 大于 maxValue。
方法二:Guid
GUID (Globally Unique Identifier) 全球唯一标识符,代表一个巨大的识别号,它很大,以至于同一键产生两次的概率非常小。对于使用100亿个随机GUID的应用程序,巧合的概率大约为五分之一(十亿分之一)。
static void Main(string[] args){Console.WriteLine(Guid.NewGuid());Console.ReadKey();}

格式如下:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx结构的16进制数字.