Jon*_*eet 11
假设你不需要它是线程安全的:
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);
}
Run Code Online (Sandbox Code Playgroud)
(您可以在RandomStringInSpecialFormat中使用3迭代循环,但它没有太大的好处.)
如果您需要它是线程安全的,那么您需要一些方法来确保您不会同时从多个线程访问Random.最简单的方法来做到这一点(在我看来)是使用StaticRandom从MiscUtil.