本文最后更新于 2024-05-07,文章可能存在过时内容,如有过时内容欢迎留言或者联系我进行反馈。
代码示例 {#%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B}
/// <summary> 随机生成字符串 </summary> public class RandomStringBuilderUtility { /// <summary> 生成随机字符串 </summary> /// <param name="length"> 字符串的长度 </param> /// <returns> </returns> public static string Create(int length) { // 创建一个StringBuilder对象存储密码 StringBuilder sb = new StringBuilder(); //使用for循环把单个字符填充进StringBuilder对象里面变成14位密码字符串 for (int i = 0; i < length; i++) { Random random = new Random(Guid.NewGuid().GetHashCode()); //随机选择里面其中的一种字符生成 switch (random.Next(3)) { case 0: //调用生成生成随机数字的方法 sb.Append(createNum()); break;
case 1: //调用生成生成随机小写字母的方法 sb.Append(createSmallAbc()); break;
case 2: //调用生成生成随机大写字母的方法 sb.Append(createBigAbc()); break; } } return sb.ToString();
}
/// &lt;summary&gt; 生成单个大写随机字母 &lt;/summary&gt; private static string createBigAbc() { //A-Z的 ASCII值为65-90 Random random = new Random(Guid.NewGuid().GetHashCode()); int num = random.Next(65, 91); string abc = Convert.ToChar(num).ToString(); return abc; }
/// &lt;summary&gt; 生成单个随机数字 &lt;/summary&gt; private static int createNum() { Random random = new Random(Guid.NewGuid().GetHashCode()); int num = random.Next(10); return num; }
/// &lt;summary&gt; 生成单个小写随机字母 &lt;/summary&gt; private static string createSmallAbc() { //a-z的 ASCII值为97-122 Random random = new Random(Guid.NewGuid().GetHashCode()); int num = random.Next(97, 123); string abc = Convert.ToChar(num).ToString(); return abc; }
}