我正在用C#制作一个小的UWP应用程序,以模拟吸管。我遇到的问题是我希望用户点击按钮,然后将baseNumber变量(最初设置为2-表示任何意义的吸管最少)与从另一个按钮事件传递过来的随机生成的数字。我要把这部分放下来。
使我适合的部分是,我希望下一个用户然后单击相同的按钮,并且我希望baseNumber增加1,并具有与LostStraw相比的新数字。如果该用户被宣布为安全用户,则我希望通过单击按钮来为下一个用户再次增加数字,直到最终数字彼此相等,一个用户拉起一根短稻草,然后采用另一条代码路径。
我对编码非常陌生,所以我想要的甚至可能无法实现。下面是我尝试过的示例。我还在do / do while和for循环上尝试了变体。
如果我能以某种方式在每次通过时停止诸如for循环之类的操作,并使其等待用户输入(按下按钮),那将是理想的选择。我也无法弄清楚。
您可以提供的任何帮助或想法将不胜感激!
private void drawButton_Click(object sender, RoutedEventArgs e)
{
int baseNumber = 2;
int losingStraw = Convert.ToInt32(drawButton.Tag);
if (baseNumber < losingStraw)
{
instructions.Text = "You are safe!";
baseNumber = baseNumber++; // that doesn't work at all. I was hoping that baseNumber
}
else
{
instructions.Text = "You have drawn the losing straw";
}
}
您不必编写baseNumber++;
,baseNumber = baseNumber++;
因为++
又名一元运算符有助于将整数值增加一。因此baseNumber++;
意味着baseNumber = baseNumber + 1;
编辑
在您的情况下,变量int baseNumber = 2;
已在事件本身中声明并初始化,因此,每次触发该事件时,baseNumber
都会将其初始化为2,并且您将看不到任何更改。这样你可以做这样的事情
int baseNumber; // you can do 2 here as well
public YourFormName()
{
baseNumber = 2;
}
private void drawButton_Click(object sender, RoutedEventArgs e)
{
int losingStraw = Convert.ToInt32(drawButton.Tag);
if (baseNumber < losingStraw)
{
instructions.Text = "You are safe!";
baseNumber = baseNumber++; // that doesn't work at all. I was hoping that baseNumber
}
else
{
instructions.Text = "You have drawn the losing straw";
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句