C# .NET Random 生成随机数字和字母
2014-01-06 16:11
288 查看
转帖于:http://www.cnblogs.com/zhanqi/archive/2011/03/25/1996013.html
1:随机数生成器
类 Random 是 .NET 的伪随机数生成器,要生成各种类型的随机数,必须先得到它的实例对象,然后再生成随机数
2:种子
随机数的生成是从种子值开始。 如果反复使用同一个种子,就会生成相同的数字系列,产生不同序列的一种方法是使种子值与时间相关
3:对象实例
默认情况下,Random 类的无参数构造函数使用系统时钟生成其种子值
参数化构造函数可提供一个 Int32 类型的数字为起始值
4:生成方案
方案1:只实例化一个对象,多次方法调用
方案2:每次方法调用都用一个新的实例(无参)
解决方案:
阻塞当前线程一小段时间
或者:应用一个算法来区分每个调用的种子值。
例如,下面的代码使用右移位运算符为多个可以使用相同时间值初始化的 Random 对象(在
1 和大约 28 个对象之间)生成不同的种子值。
5:通用数字和字母随机生成方案
数组方式:略
字符串方式:不灵活,但比较简便,用于验证码已足够
6:用随机数填充指定字节的数组
7:生成大于等于 0.0 小于 1.0 的双精度浮点数
8:生成随机整数
9:生成随机大写字母
10:生成随机小写字母
11:生成随机大小写字母混合
12:生成随机大小写字母和数字混合
1:随机数生成器
类 Random 是 .NET 的伪随机数生成器,要生成各种类型的随机数,必须先得到它的实例对象,然后再生成随机数
2:种子
随机数的生成是从种子值开始。 如果反复使用同一个种子,就会生成相同的数字系列,产生不同序列的一种方法是使种子值与时间相关
3:对象实例
默认情况下,Random 类的无参数构造函数使用系统时钟生成其种子值
参数化构造函数可提供一个 Int32 类型的数字为起始值
4:生成方案
方案1:只实例化一个对象,多次方法调用
阻塞当前线程一小段时间
例如,下面的代码使用右移位运算符为多个可以使用相同时间值初始化的 Random 对象(在
1 和大约 28 个对象之间)生成不同的种子值。
数组方式:略
字符串方式:不灵活,但比较简便,用于验证码已足够
相关文章推荐
- C# .NET Random 生成随机数字和字母
- C# .NET Random 生成随机数字和字母
- C# Random生成随机数字和字母
- C#生成字母和数字组成的随机文件
- C# 批量生成随机密码,必须包含数字和字母,并用加密算法加密
- Asp.NET 生成随机码基类(随机字母,随机数字,随机字母+数字 )
- Asp.NET 生成随机码基类(随机字母,随机数字,随机字母+数字 )
- C# 生成验证码,取随机数字加字母
- asp.net 随机生成数字,asp.net随机生成字母数字
- C#随机生成n位数字和字母的方法
- 【转】Asp.NET 生成随机码基类(随机字母,随机数字,随机字母+数字 )
- c#随机生成汉字、字母、数字
- C# 批量生成随机密码必须包含数字和字母并用加密算法加密
- 使用C#(Random)随机数来制作随机字母数字混合密码生成器
- C# 生成验证码取随机数字加字母(改进版)
- 使用java Random动态传递位数 生成指定位数的随机字符串-数字字母混合
- C#中随机生成一串字母+数字的字符串
- C#随机生成数字、字母
- Asp.NET 随机码生成基类(随机字母,随机数字,随机字母+数字)
- Asp.NET 随机码生成基类(随机字母,随机数字,随机字母+数字)