如何使方法以A1A 1A1格式返回随机字符串?

Bla*_*man 2 c# methods

我需要一个方法来返回格式的随机字符串:

字母编号字母编号字母编号

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.最简单的方法来做到这一点(在我看来)是使用StaticRandomMiscUtil.