四时宝库

程序员的知识宝库

一个超实用随机字符串生成方法,超经典!

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);

可以指定随机字符串长度,大写,小写,数字,特殊字符,自定义字符的生成,很棒!有更经典的写法,欢迎评论区分享你的写法,加油,少年郎,未来是大家的!记得关注点赞收藏我哟!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接