using System;
using System.Text;
/// <summary>
/// 随机扩展
/// </summary>
public static class RandomExtend
{
/// <summary>
/// 生成随机字符串
/// </summary>
/// <param name="length">随机长度</param>
/// <param name="useNum">是否包含数字</param>
/// <param name="useLow">是否包含小写字母</param>
/// <param name="useUpp">是否包含大写字母</param>
/// <param name="useSpe">是否包含特殊字符</param>
/// <param name="custom">要包含的自定义字符,直接输入要包含的字符列表</param>
/// <returns></returns>
public static string NextString(this Random random,int length, bool useNum = true, bool useLow = true, bool useUpp = true, bool useSpe = false, string custom = "")
{
StringBuilder sb = new StringBuilder();
string charset = (useNum ? "0123456789" : "") +
(useLow ? "abcdefghijklmnopqrstuvwxyz" : "") +
(useUpp ? "ABCDEFGHIJKLMNOPQRSTUVWXYZ" : "") +
(useSpe ? "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" : "") +
custom;
for (int i = 0; i < length; i++)
{
sb.Append(charset[random.Next(0, charset.Length)]);
}
return sb.ToString();
}
}
C#将这个方法写到随机类的扩展方法中,使用的时候如下
Random rnd = new Random();
string rndString = rnd.NextString(16, false, true, true, false, string.Empty);
可以指定随机字符串长度,大写,小写,数字,特殊字符,自定义字符的生成,很棒!有更经典的写法,欢迎评论区分享你的写法,加油,少年郎,未来是大家的!记得关注点赞收藏我哟!