首页 > 代码库 > [C#] 简单的 Helper 封装 -- RandomHelper

[C#] 简单的 Helper 封装 -- RandomHelper

 1 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 Next18 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 Next55 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