在C#中生成随机数

时间:2016-04-26 18:07:57

标签: c# random

我想要生成1到10之间的随机数。但是我遇到了一些错误。

public Form1()
{
    InitializeComponent();
}
int randomNumber = (0, 11);
int attempts = 0;

public int RandomNumber
{
    get
    {
        return randomNumber;
    }

    set
    {
        randomNumber = value;
    }
}

全部在0,11下用逗号表示 - > struct System.Int32表示32位有符号整数< - 。在11下它说 - >标识符预期语法错误,','预期< - 。现在,如果我只是喜欢int randomNumber = 0;然后它会工作正常,仍然有多个猜测,猜测计数加起来应该是,并且标签太高太低。只是数字总是0。

另外我怎样才能将它发送到我没有点击猜测按钮的地方,我可以点击键盘输入?

private void button1_Click_1(object sender, EventArgs e)
{
    try
    {
        if (int.Parse(textBox1.Text) > RandomNumber) label1.Text = "Too high.";

        else if (int.Parse(textBox1.Text) < RandomNumber) label1.Text = "Too low.";
        else
        {
            label1.Text = "You won.";
            textBox1.Enabled = false;
            label2.Text = "Attempts: 0";
            textBox1.Text = String.Empty;
            MessageBox.Show("You won in " + attempts + " attempts, press generate to play again.", "Winner!");
            attempts = 0;
            label2.Text = "Attempts: " + attempts.ToString();
            return;
        }
        attempts++;
        label2.Text = "Attempts: " + attempts.ToString();
    }
    catch { MessageBox.Show("Please enter a number."); }
}

3 个答案:

答案 0 :(得分:1)

您可以使用类似下面代码的内容生成1到10之间的随机数

        Random randomNumberGenrator = new Random();
        int num = randomNumberGenrator.Next(10) + 1;

答案 1 :(得分:1)

要生成随机数,您必须使用System.Random类。您的语法可能如下所示:

System.Random rng = new System.Random(<insert seed if you want>);
int randomNumber = rng.Next(1,11);

你必须做rng.Next(1,11),因为下限是include(1是可能的结果),上限是exclude(11没有被添加到可能结果的池中)。

要实现您的Enter快捷键,您必须在Forms KeyPress事件中添加一个方法,您可以在该事件中调用button1_clicked方法。

button1_Clicked_1(this, System.EventArgs.Empty);

最后,您必须将表单“KeyPreview”属性设置为true。

答案 2 :(得分:0)

看看this

使用Random类生成随机数。

private Random _rnd = new Random(); 
    private int RandomNumber
        {
            get
            {

                return _rnd.Next(0,11);
            }

            set
            {
                this = value;
            }
        }