[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 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 }
标签:
helper
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?