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