/// <summary> /// 生成大小写字母和数字组合的字符串 /// <para>默认随机为大小写和数字</para> /// </summary> /// <param name="len">生成长度</param> /// <param name="type">随机代码类型</param> /// <param name="seed">随机种子</param> /// <returns>生成的字符串</returns> public static string Generate(int len, RandomCodeType type = RandomCodeType.HighLowLetterAndNumber, int?seed = null) { StringBuilder newRandom = null; var rd = random; if (seed != null) { rd = new Random((int)seed); } switch (type) { case RandomCodeType.HighLowLetterAndNumberAndSymbol: newRandom = new StringBuilder(charHighLowLetterAndNumberAndSymbol.Length); for (int i = 0, arrlen = charHighLowLetterAndNumberAndSymbol.Length; i < len; i++) { newRandom.Append(charHighLowLetterAndNumberAndSymbol[rd.Next(arrlen)]); } break; case RandomCodeType.HighLowLetterAndNumber: newRandom = new StringBuilder(charHighLowLetterAndNumber.Length); for (int i = 0, arrlen = charHighLowLetterAndNumber.Length; i < len; i++) { newRandom.Append(charHighLowLetterAndNumber[rd.Next(arrlen)]); } break; case RandomCodeType.HighLetterAndNumber: newRandom = new StringBuilder(charHighLetterAndNumber.Length); for (int i = 0, arrlen = charHighLetterAndNumber.Length; i < len; i++) { newRandom.Append(charHighLetterAndNumber[rd.Next(arrlen)]); } break; case RandomCodeType.HighLetter: newRandom = new StringBuilder(charHighLetter.Length); for (int i = 0, arrlen = charHighLetter.Length; i < len; i++) { newRandom.Append(charHighLetter[rd.Next(arrlen)]); } break; case RandomCodeType.Number: newRandom = new StringBuilder(charNumber.Length); for (int i = 0, arrlen = charNumber.Length; i < len; i++) { newRandom.Append(charNumber[rd.Next(arrlen)]); } break; } return(newRandom.ToString()); }
public RandomGeneratorSetting(RandomCodeType type, short length) { this.Type = type; this.Length = length; }