我有以下法典:
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);
}
Now the point is, this happens XX times, where XX is a number corresponding with the numbers you see within the code. So in the above example the XX is 01. *note, its the 01 s in the input, and the 01 in the results too
In not very deep into c# (yet), and at first i thought that when XX is 20, i will need to copy this above part 20 times, and change the numbers. Now this seems cumbersome, and i guess there should be some smarter way ti deal with this, point is, i cant think of how (as written above, im not very deep into c# yet).
谁能把我推向正确的方向?
事先感谢你。
---EDIT 1--- thank you Miika L. slightly different from your solution:
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;
}
}
and now i can indeed just call: bool test = checkValue(userValueSom01, realResult01, Som01G, Som01W, labelSom01Check);
works :) thanx!