我正在制作一个可以在控制台中运行的简单的子手游戏。我创建了一种从列表中选择随机单词的方法,稍后将其用作答案。我创建了此方法来做到这一点:
public static string GetWord()
{
Random random = new Random();
string[] words = new string[5]{"a", "b", "c", "d", "e"};
return words[random.Next(5)];
}
我通过使用for循环将方法循环100次来测试了该方法:
static void Man(string[] args)
{
for(int i = 0; i <101; i++)
{
Console.WriteLine(GetWord());
}
}
我希望得到一组随机的字母作为输出。但是,当我运行程序时,情况并非如此。相反,我得到一些类似于:
d d d d d d d d d d d d d
d d d C C C C Ë Ë Ë Ë e
Ë d d d d d 一种 一个
一种 一种 一种 一种 一种 一种 一种 b b b b b b b b b b
b c c c c c e e e e e e d d a d a d a d a d a d d d d c c c c c c c c c c e c
这是我做错了吗?如果是这样,我该怎么解决?预先谢谢你
答案 0 :(得分:1)
尝试:
private static readonly Random Random = new Random();
public static string RandomString(int length)
{
const string chars = "abcde";
return new string(Enumerable.Repeat(chars, length).Select(s => s[Random.Next(s.Length)]).ToArray());
}
static void Man(string[] args)
{
Console.WriteLine(RandomString(100));
}