似乎无法在C#中打印方法

时间:2018-12-06 04:29:48

标签: c#

我正在尝试制作一个简单的程序,该程序列出单词列表,然后选择一个随机单词,然后打印该单词。一切正常,但我似乎无法使程序打印出文字。到目前为止,这是我的代码。

composer show -s | grep 'name' | head -1 | awk '{print $3}'

}

1 个答案:

答案 0 :(得分:1)

要使代码正常工作,您需要打印一个值,而不是像现在一样打印任何内容。

目前,您的words字段和PickRandom方法是实例成员,因此,Main(静态方法)在没有Program实例的情况下无法使用它们。因此,首先,我们将创建一个Program实例:

Program program = new Program();

然后我们随机取一个单词:

string word = program.PickRandom();

最后我们将其编写:

Console.WriteLine(word);

将它们放在一起:

static void Main(string[] args)
{
    Program program = new Program();
    string word = program.PickRandom();
    Console.WriteLine(word); 
    // keep the console open after the code has executed by waiting for a keypress
    Console.WriteLine("Press any key to continue...");
    Console.ReadKey(); 
}

您可以了解有关静态成员与实例成员here的信息。

您可能很快就会遇到Random的问题-如果您过于频繁地调用PickRandom方法,则会发现重复得到相同的值。 this post中说明了原因。 TL; DR:种子值是基于时间的,因此,如果在同一时间创建两个Random实例,则会获得相同的种子值。