我有以下代码:
if (userValueSom01 == realResult01)
{
//answer = correct
//count +1 for overall good answers
WpfApplication1.Properties.Settings.Default.totallGood++;
//count for good +1
answerThisWindowGood++;
//make visible the green logo
Som01G.Visibility = Visibility.Visible;
}
else
{
//answer = wrong
//count +1 for overall wrong answers
WpfApplication1.Properties.Settings.Default.totallWrong++;
//count for wrong +1
answerThisWindowWrong++;
//make visible the red logo
Som01W.Visibility = Visibility.Visible;
labelSom01Check.Content = Convert.ToString(realResult01);
}
现在重点是,这发生了XX次,其中XX是与您在代码中看到的数字相对应的数字。 所以在上面的例子中,XX是01。 *注意,它在输入中是01,在结果中也是01
在非常深入c#(还)中,起初我认为当XX为20时,我需要复制上面的部分20次,并更改数字。 现在这看起来很麻烦,我想应该有一些更聪明的方法来解决这个问题,重点是,我不能想到如何(如上所述,我对c#还不是很深)。
任何可以推动我朝着正确方向前进的人?
提前谢谢。
---编辑1 --- 谢谢Miika L. 与您的解决方案略有不同:
public bool checkValue(double value, int result, Image controlG, Image controlW, Label label)
{
if (value == result)
{
//... Do stuff
controlG.Visibility = Visibility.Visible;
return true;
}
else
{
//... Do other stuff
controlW.Visibility = Visibility.Visible;
label.Content = result.ToString();
return false;
}
}
现在我确实可以打电话: bool test = checkValue(userValueSom01,realResult01,Som01G,Som01W,labelSom01Check);
工作:) 感谢名单!
答案 0 :(得分:1)
把它写成函数怎么样?
public bool checkValue(
int value,
int result,
Control controlG,
Control controlW,
Label label)
{
if (value == result)
{
... Do stuff
controlG.Visibility = Visibility.Visible;
}
else
{
... Do other stuff
controlW.Visibility = Visibility.Visible;
label.Content = result.ToString();
}
}
答案 1 :(得分:0)
而不是像userValueSom01这样在名称中定义数百个带数字的变量,如果合适,realResult01最好使用数组或字典。