我需要一个方法来返回格式的随机字符串:
字母编号字母编号字母编号
假设你不需要它是线程安全的:
private static readonly Random rng = new Random(); private static RandomChar(string domain) { int selection = rng.Next(domain.Length); return domain[selection]; } private static char RandomDigit() { return RandomChar("0123456789"); } private static char RandomLetter() { return RandomChar("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); } public static char RandomStringInSpecialFormat() { char[] text = new char[6]; char[0] = RandomLetter(); char[1] = RandomDigit(); char[2] = RandomLetter(); char[3] = RandomDigit(); char[4] = RandomLetter(); char[5] = RandomDigit(); return new string(text); }
(您可以在RandomStringInSpecialFormat中使用3迭代循环,但它没有太大的好处.)
如果您需要它是线程安全的,那么您需要一些方法来确保您不会同时从多个线程访问Random.最简单的方法来做到这一点(在我看来)是使用StaticRandom从MiscUtil.