Я новичок в C#, у меня возникла проблема с TextBox, подтверждающим букву класса (A, B, C, D, F). Прямо сейчас, этот код ниже будет выполнять оператор if, а не оператор else, как он предполагал, если бы я вводил букву графы, точно соответствующую ее состоянию, даже если нижняя обсаженная, а затем верхняя обложка после нажатия кнопки OK. Когда я вводим правильную букву класса, она должна пропустить if и перейти к выражению else, но что-то не так, что я не вижу.Как правильно проверить TextBox на C#?
private void Button_Click(object sender, RoutedEventArgs e)
{
//automatically convert gradeLetter inputs to uppercase
gradeLetter.Text = gradeLetter.Text.ToUpper();
//check if gradeLetter entered is valid
if (!string.IsNullOrWhiteSpace(gradeLetter.Text) || gradeLetter.Text != "A" || gradeLetter.Text != "B" || gradeLetter.Text != "C" || gradeLetter.Text != "D" || gradeLetter.Text != "F")
{
MessageBox.Show("Invalid grade letter or has an empty textbox!", "Caution!", MessageBoxButton.OK);
}
else
{
// switch statement to determine which 'gradeLetter' is being used
// and assign numerical numbers to 'gpa' to then be calculated.
switch (gradeLetter.Text)
{
case "A": gradeW = 4.0;
break;
case "B": gradeW = 3.0;
break;
case "C": gradeW = 2.0;
break;
case "D": gradeW = 1.0;
break;
case "F": gradeW = 0.0;
break;
default: // do nothing
break;
}
double result = (GPA += gradeW); //add to the gpa
gCounter++; // increment the gpa entered
result /= gCounter; // divide by the number of gpa entered
result = Math.Round(result, 2, MidpointRounding.AwayFromZero); //round the result to two decimal places
gpa.Text = result.ToString(); //convert result from int to string and display in 'gpa' TextBlock
//append the input grade letters to 'gradeEntered' TextBlock
gradeEntered.Text += gradeLetter.Text + System.Environment.NewLine;
}
}
Вы установили контрольную точку и шагнула через ваши условия, чтобы увидеть * почему * он неожиданно ведет себя? –
Я также новичок в Visual Studio 2013, и я не уверен, как отлаживать его, но показывая, как это будет очень полезно. Я обязательно его использую. – TheAmazingKnight
A [видеообъявление может быть лучшим способом получить эту идею] (http://www.youtube.com/watch?v=C0vDKXIq_9A) - * (Я этого не видел, но это первый результат, когда Я искал «Отладка в Visual Studio», должно хватить * –