加载此页面时,GameInfo.roundcounter++;
将始终执行。但我想要做的是只有在正确改变时才增加这个值。
public ActionResult Intermediate()
{
int correct = GameInfo.correct;
GameInfo.roundcounter++;
return View();
}
在伪代码中,这就是我想要实现的目标。
if(corrrect > previous.correct) THEN
INCREMENT GameInfo.roundcounter
任何人都可以帮助我做到这一点。谢谢。
答案 0 :(得分:0)
<强>更新强>
将以前的正确内容存储在ViewBag中
ViewBag.correct = previous.correct
然后评估结果。
public ActionResult Intermediate()
{
If(ViewBag.correct > Gameinfo.correct)
{
Gameinfo.correct++;
}
}
答案 1 :(得分:0)
你可以做的是这样的事情:
// Have two variables: and 'old' and 'new' counter for comparison.
int oldCounter, newCounter = 0;
// Whenever you increment your newCounter, set the value of oldCounter to the previous value of the newCounter
oldCounter = newCounter;
newCounter = //new value;
// Because 'GameInfo.counter' = 'oldCounter', compare it to 'newCounter'
if (newCounter > GameInfo.counter)
GameInfo.roundCounter++;
答案 2 :(得分:0)
为什么不在分配前进行测试:
private static int correct = 0;
public ActionResult Intermediate()
{
if (correct != GameInfo.correct)
{
correct = GameInfo.correct;
GameInfo.roundcounter++;
}
return View();
}
通过定义方法的正确外部,作为私有静态,您可以通过多次调用ActionResult来访问它,并且不能在包含此方法的类之外访问它。它是一个变量,它将记住你最后的“正确”,无论你使用的是什么类型的实例。