У меня есть следующий код:
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 ---
спасибо миика л.
немного отличается от вашего решения:
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);
работает :)
спасибо!