我有一些字符:
chars = "$%#@!*abcdefghijklmnopqrstuvwxyz1234567890?;:ABCDEFGHIJKLMNOPQRSTUVWXYZ^&".tocharArray();
我发现一个可能有用的代码:
static Random random = new Random(); public static char GetLetter() { // This method returns a random lowercase letter // ... Between 'a' and 'z' inclusize. int num = random.Next(0,26); // Zero to 25 char let = (char)('a' + num); return let; }
解决方法
你几乎在那里 – 你想从一个字符串返回一个随机元素,所以你只需要在字符串的长度范围内生成一个随机数:
public static char GetRandomCharacter(string text,Random rng) { int index = rng.Next(text.Length); return text[index]; }
我建议不要使用类型为Random的静态变量,而不用任何锁定,顺便说一下 – Random不是线程安全的.有关更多详细信息(和解决方法),请参阅我的article on random numbers.