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

[C#] Helper 的封装 -- RandomHelper

时间:2017-03-13 12:54:54      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:eal   指定   大于   rand   sealed   随机数   next   ble   返回   

介于经常在项目中需要用到随机数,特别写了一个帮助类,代码如下

using System;
 2 
 3 namespace Wen.Helpers
 4 {
 5     /// <summary>
 6     /// 随机数助手
 7     /// </summary>
 8     public sealed class RandomHelper
 9     {
10         /// <summary>
11         /// 字符集合(去掉 0oO 这几个容易混淆的字符)
12         /// </summary>
13         private const string CharSet = "123456789abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ~!@#$%^&*()_+|" ;
14 
15         private static readonly Random Random = new Random ();
16 
17         #region Next
18 
19         /// <summary>
20         /// 返回非负随机数
21         /// </summary>
22         /// <returns> 大于等于零且小于 System.Int32.MaxValue 的 32 位带符号整数 </returns>
23         public static int Next()
24         {
25             return Random.Next();
26         }
27 
28         /// <summary>
29         /// 返回一个指定范围内的随机数
30         /// </summary>
31         /// <param name="maxValue"> 要生成的随机数的上限(随机数不能取该上限值)。maxValue 必须大于或等于零 </param>
32         /// <returns>
33         /// 大于等于零且小于 maxValue 的 32 位带符号整数,即:返回值的范围通常包括零但不包括 maxValue。 不过,如果 maxValue 等于零,则返回 maxValue。
34         /// </returns>
35         public static int Next( int maxValue)
36         {
37             return Random.Next(maxValue);
38         }
39 
40         /// <summary>
41         /// 返回一个指定范围内的随机数
42         /// </summary>
43         /// <param name="minValue"> 返回的随机数的下界(随机数可取该下界值) </param>
44         /// <param name="maxValue"> 返回的随机数的上界(随机数不能取该上界值)。 maxValue 必须大于或等于 minValue</param>
45         /// <returns>
46         /// 一个大于等于 minValue 且小于 maxValue 的 32 位带符号整数,即:返回的值范围包括 minValue 但不包括 maxValue。
47         /// 如果 minValue 等于 maxValue,则返回 minValue。
48         /// </returns>
49         public static int Next( int minValue, int maxValue)
50         {
51             return Random.Next(minValue, maxValue);
52         }
53 
54         #endregion Next
55 
56         /// <summary>
57         /// 返回一个介于 0.0 和 1.0 之间的随机数
58         /// </summary>
59         /// <returns> 大于等于 0.0 并且小于 1.0 的双精度浮点数 </returns>
60         public static double NextDouble()
61         {
62             return Random.NextDouble();
63         }
64 
65         /// <summary>
66         /// 返回一个随机字符串
67         /// </summary>
68         /// <param name="length"> 字符串长度 </param>
69         /// <returns></returns>
70         public static string NextString( int length)
71         {
72             var arr = new char[length];
73 
74             for (var i = 0; i < length; i++)
75             {
76                 var index = Random.Next(CharSet.Length);
77                 arr[i] = CharSet[index];
78             }
79 
80             return string .Join( "", arr);
81         }
82     }
83 }

 

[C#] Helper 的封装 -- RandomHelper

标签:eal   指定   大于   rand   sealed   随机数   next   ble   返回   

原文地址:http://www.cnblogs.com/taocheng/p/6541790.html

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