Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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#_Xaml - Fatal编程技术网

C# &引用;变量";在当前上下文中不存在

C# &引用;变量";在当前上下文中不存在,c#,xaml,C#,Xaml,对C#和一般编程来说都是非常陌生的。我遇到了这个问题,我真的不知道如何解决它。首先,代码如下: 它在代码的“如果”部分指出,random1在当前上下文中不存在。是的,我知道random只存在于按钮点击部分中,因为它位于括号之间。代码应该在0到20之间选择一个随机数,而不显示它,这样用户就必须猜测它。如果用户错了,它会显示一条提示,说明该数字是过高还是过低。我如何解决这个问题?谢谢 编辑:看来我太含糊了,不过你的答案很好。这是完整的代码: public void Button_Click(obje

对C#和一般编程来说都是非常陌生的。我遇到了这个问题,我真的不知道如何解决它。首先,代码如下:

它在代码的“如果”部分指出,random1在当前上下文中不存在。是的,我知道random只存在于按钮点击部分中,因为它位于括号之间。代码应该在0到20之间选择一个随机数,而不显示它,这样用户就必须猜测它。如果用户错了,它会显示一条提示,说明该数字是过高还是过低。我如何解决这个问题?谢谢

编辑:看来我太含糊了,不过你的答案很好。这是完整的代码:

public void Button_Click(object sender, RoutedEventArgs e) //random
{
    Random chiffrealeatoire = new Random();
    int random1 = (chiffrealeatoire.Next(0, 20));
}

private void Button_Click_1(object sender, RoutedEventArgs e) //quit
{
    Application.Current.Shutdown();
}

private void Button_Click_2(object sender, RoutedEventArgs e) //veri
{

}

public void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
    if (BoiteChiffre.Text < random1)
    {
        MessageBox.Show("Too low");
    }
    if (BoiteChiffre.Text > random1)
    {
        MessageBox.Show("Too high");
    }
    else
    {
        MessageBox.Show("Congratulations");          
    }
}
public void按钮\u单击(对象发送者,路由目标)//random
{
Random CHIFREALEATOIRE=新Random();
int random1=(chiffrealeatoire.Next(0,20));
}
私有无效按钮\u单击\u 1(对象发送者,路由目标)//退出
{
Application.Current.Shutdown();
}
私有无效按钮\u单击\u 2(对象发送者,路由目标)//veri
{
}
public void TextBox\u TextChanged(对象发送者,textchangedventargs e)
{
if(BoiteChiffre.Textrandom1)
{
MessageBox.Show(“太高”);
}
其他的
{
MessageBox.Show(“恭喜”);
}
}

用户应该在文本框中写入,请尝试下面的代码片段。您需要在同一方法中声明变量

public void Button_Click(object sender, RoutedEventArgs e) //random
{
    Random chiffrealeatoire = new Random();
    int random1 = (chiffrealeatoire.Next(0, 20));

    if (BoiteChiffre.Text < random1)
    {
        MessageBox.Show("Too low");
    }
    if (BoiteChiffre.Text > random1)
    {
        MessageBox.Show("Too high");
    }
    else
    {
        MessageBox.Show("Congratulations");          
    }
}
public void按钮\u单击(对象发送者,路由目标)//random
{
Random CHIFREALEATOIRE=新Random();
int random1=(chiffrealeatoire.Next(0,20));
if(BoiteChiffre.Textrandom1)
{
MessageBox.Show(“太高”);
}
其他的
{
MessageBox.Show(“恭喜”);
}
}

请尝试下面的代码片段。您需要在同一方法中声明变量

public void Button_Click(object sender, RoutedEventArgs e) //random
{
    Random chiffrealeatoire = new Random();
    int random1 = (chiffrealeatoire.Next(0, 20));

    if (BoiteChiffre.Text < random1)
    {
        MessageBox.Show("Too low");
    }
    if (BoiteChiffre.Text > random1)
    {
        MessageBox.Show("Too high");
    }
    else
    {
        MessageBox.Show("Congratulations");          
    }
}
public void按钮\u单击(对象发送者,路由目标)//random
{
Random CHIFREALEATOIRE=新Random();
int random1=(chiffrealeatoire.Next(0,20));
if(BoiteChiffre.Textrandom1)
{
MessageBox.Show(“太高”);
}
其他的
{
MessageBox.Show(“恭喜”);
}
}

您已经关闭了方法并忽略了if语句!
random1
变量是在方法中定义和声明的,因此它不存在于方法之外。请移动该方法的结束括号,以包括if语句

另外,您的两个
if
语句实际上应该与else-if链接在一起。您已经声明了两个独立的if语句,因此其中只有一个具有else。没有错,只是更好地练习以下几点

基本结构:

public void Button_Click(object sender, RoutedEventArgs e) {

    ...
    int random1

    if(<random1) {
        random1
    } else if(>random1) {
        ...
    } else {
        ...
    }

} // <- method closing bracket
int random1

public void methodA() {
    random1 = whatever
}

public void methodB() {
    if(random1) {
        ...
    }
}

您已经关闭了方法,并忽略了if语句!
random1
变量是在方法中定义和声明的,因此它不存在于方法之外。请移动该方法的结束括号,以包括if语句

另外,您的两个
if
语句实际上应该与else-if链接在一起。您已经声明了两个独立的if语句,因此其中只有一个具有else。没有错,只是更好地练习以下几点

基本结构:

public void Button_Click(object sender, RoutedEventArgs e) {

    ...
    int random1

    if(<random1) {
        random1
    } else if(>random1) {
        ...
    } else {
        ...
    }

} // <- method closing bracket
int random1

public void methodA() {
    random1 = whatever
}

public void methodB() {
    if(random1) {
        ...
    }
}

if&else语句在方法定义之外。此代码不应编译。您需要重新定位右大括号,以便所有代码都在“Button\u Click”方法内。您的if&else语句在方法定义之外。此代码不应编译。您需要重新定位右大括号,以便所有代码都在“Button\u Click”方法中。感谢您更新了答案。感谢您更新了答案。