Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法在C中传递参数?_C#_User Interface_Parameters - Fatal编程技术网

C# 无法在C中传递参数?

C# 无法在C中传递参数?,c#,user-interface,parameters,C#,User Interface,Parameters,好的。对于本周我和我的班级正在做的iLab,我们正在使用GUI。我们必须设计的第二个程序是猜谜游戏。程序应该随机生成一个数字,从0到100,并将该数字传递给以后使用。这是我已经有的代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; u

好的。对于本周我和我的班级正在做的iLab,我们正在使用GUI。我们必须设计的第二个程序是猜谜游戏。程序应该随机生成一个数字,从0到100,并将该数字传递给以后使用。这是我已经有的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Guessing_game
{
    public partial class Form1 : Form

    {
        int target();
        public Form1()
        {
            InitializeComponent();
            Random r = new Random();
            int target = r.Next(0, 100);
        }

        private void btnEvaluate_Click(object sender, EventArgs e)
        {
            if (txtGuess.Text == target)
            {

            }
        }
    }
}
}

请注意,btnEvaluate_单击区域未完成。这是因为程序应该可以访问的变量目标以后无法读取


在阅读了一些注释之后,我能够调整代码,因此我又得到了一个错误:“Guessing_game.Form1.target”字段从未被指定,并且将始终具有其默认值0。如果有人要尝试复制此字段,我可以确切地告诉您如何编写它。GUI应该有一个标签、一个文本框和一个按钮。该按钮需要获取给定给目标的值,以便它可以根据目标的值检查用户的猜测。如果有帮助的话,我正在使用Visual Studio 2010。

您必须将int-target置于公共表单之外。在事件内部,将target更改为target.ToString。

尝试此操作,您需要将目标声明为public

这是因为目标对于构造函数是本地的,因此在其他任何地方都看不到。将目标改为Form1中的字段。因为这是家庭作业,我会让你自己尝试;如果您仍然感到困惑,请告诉我们。

括号{}定义了一个范围。您已经在构造函数Form1的范围内声明了目标变量。因此,为了使它在整个类中都可访问,您可以将其设置为类级别变量。比如说

int target;
public Form1()
{
   InitializeComponent();
   Random r = new Random();
   target = r.Next(0, 100);
}
尽管如果您计划再次使用随机对象,您还是希望将其作为类级变量。此外,您正在尝试将int与字符串进行比较。应该是

if (txtGuess.Text == target.ToString())
{

}

将目标变量提升为实例变量Form1类的字段。我在英国一所大学教C,这是我的一年级学生几乎一致遭受的痛苦。我称之为括号盲,因为您没有正确阅读答案:请注意,您正在通过在前面添加int来创建一个新的目标变量。不要这样做,因为您希望使用在构造函数外部创建的目标变量。它应该是target=r.next0100;它也应该是int target;,不是int-target;。正当刚刚尝试过,但我仍然得到一个错误:“Guessing_game.Form1.target”字段从未分配给,并且将始终具有其默认值0刚刚尝试过。我遇到了这个错误:名为“target”的局部变量无法在此范围内声明,因为它将赋予“target”不同的含义,而“target”已在“parent or current”范围内用于表示其他内容。您必须具有另一个变量,该变量的名称也为target。刚刚尝试过。新错误是字段初始值设定项无法引用非静态字段、方法或属性猜测游戏。Form1.r'在随机r上应用static关键字。静态随机r=新随机;如果我这样做,它会告诉我static对该项无效。好的。我试过了,但最后我犯了一个错误。字段'Guessing_game.Form1.target'从未分配给,并且始终具有其默认值0是否删除目标=r.Next0,100;从构造器那里得到的线?根据我的教授告诉我的,我不能删除target=r.next0100;线这就是将目标声明为随机数的原因。或者该部分应该与构造函数之外的目标一起使用?不,不,我的意思是您应该保留以下行:。如果那一行仍然存在,我不明白为什么会出现这个错误。好吧,需要弄清楚的是,target的变量需要有任何创建的随机数,发送给按钮,以便在单击时使用。这样,按钮将能够检查用户的猜测是否等于随机数。你知道有什么方法可以把随机数传出去,这样就可以访问它了吗?
if (txtGuess.Text == target.ToString())
{

}