生成随机数[码]帮助类
2010-07-21 15:09 stubman 阅读(371) 评论(0) 编辑 收藏 举报贴一段以前工作中编写的生成随机数【码】帮助类,当时是用这个类生成随机的注册码用的,注册码由数字0-9、字母A-Z组成。
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4
5 namespace RandomZhuCeMa
6 {
7 /// <summary>
8 /// 生成随机数[码]帮助类
9 /// </summary>
10 class RandomNumberHelper
11 {
12 private static Random random = new Random();
13 private static IList<string> sourceList = new List<string>();
14 /// <summary>
15 /// 构造一个List:值域为:0-9,A-Z
16 /// </summary>
17 static RandomNumberHelper()
18 {
19 for (int i = 0; i <= 9; i++)
20 {
21 sourceList.Add(i.ToString());
22 }
23 for (int i = (int)'A'; i <= (int)'Z'; i++)
24 {
25 sourceList.Add(Convert.ToString((Char)i));
26 }
27 }
28
29 /// <summary>
30 /// 根据指定长度生成随机码
31 /// </summary>
32 /// <param name="selectCount">随机码长度</param>
33 /// <returns></returns>
34 public static string GetRandomZhuCeMa(int Length)
35 {
36 StringBuilder newRandom = new StringBuilder(Length);
37
38 if (Length > sourceList.Count)
39 throw new ArgumentOutOfRangeException("Length必需小于sourceList.Count");
40
41 for (int i = 0; i < Length; i++)
42 {
43 int nextIndex = GetRandomNumber(1, sourceList.Count);
44 newRandom.Append(sourceList[nextIndex - 1]);
45 }
46 return newRandom.ToString();
47 }
48
49 /// <summary>
50 /// 生成一个整数大于等于最小值,小于等于最大值
51 /// </summary>
52 /// <param name="minValue">最小值</param>
53 /// <param name="maxValue">最大值</param>
54 /// <returns>整数,大于等于最小值,小于等于最大值</returns>
55 public static int GetRandomNumber(int minValue, int maxValue)
56 {
57 return random.Next(minValue, maxValue + 1);
58 }
59
60 }
61 }
2 using System.Collections.Generic;
3 using System.Text;
4
5 namespace RandomZhuCeMa
6 {
7 /// <summary>
8 /// 生成随机数[码]帮助类
9 /// </summary>
10 class RandomNumberHelper
11 {
12 private static Random random = new Random();
13 private static IList<string> sourceList = new List<string>();
14 /// <summary>
15 /// 构造一个List:值域为:0-9,A-Z
16 /// </summary>
17 static RandomNumberHelper()
18 {
19 for (int i = 0; i <= 9; i++)
20 {
21 sourceList.Add(i.ToString());
22 }
23 for (int i = (int)'A'; i <= (int)'Z'; i++)
24 {
25 sourceList.Add(Convert.ToString((Char)i));
26 }
27 }
28
29 /// <summary>
30 /// 根据指定长度生成随机码
31 /// </summary>
32 /// <param name="selectCount">随机码长度</param>
33 /// <returns></returns>
34 public static string GetRandomZhuCeMa(int Length)
35 {
36 StringBuilder newRandom = new StringBuilder(Length);
37
38 if (Length > sourceList.Count)
39 throw new ArgumentOutOfRangeException("Length必需小于sourceList.Count");
40
41 for (int i = 0; i < Length; i++)
42 {
43 int nextIndex = GetRandomNumber(1, sourceList.Count);
44 newRandom.Append(sourceList[nextIndex - 1]);
45 }
46 return newRandom.ToString();
47 }
48
49 /// <summary>
50 /// 生成一个整数大于等于最小值,小于等于最大值
51 /// </summary>
52 /// <param name="minValue">最小值</param>
53 /// <param name="maxValue">最大值</param>
54 /// <returns>整数,大于等于最小值,小于等于最大值</returns>
55 public static int GetRandomNumber(int minValue, int maxValue)
56 {
57 return random.Next(minValue, maxValue + 1);
58 }
59
60 }
61 }
【推荐】国内首个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如何颠覆传统软件测试?测试工程师会被淘汰吗?