首页 > 代码库 > [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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。