![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Доброго времени!
Я думаю простейший вопрос, господа, который для меня будет как нахождение грааля тамплиером. В общем, есть программка на c#, в которой есть три textBox-а. в них вписываются значения по которым идет дальнейшее вычисление. Внимание вопрос! Как правильно прописать проверку - не пустые ли строки textBox-а? Я прописываю if но что-то у меня идет не так. То есть в целом код работает нормально, но если где-то поле не заполнено, то всё рушится. Вот собственно код: Код:
private void button1_Click(object sender, EventArgs e)
{
double x, y, z, u;
x = Convert.ToDouble(textBox1.Text);
y = Convert.ToDouble(textBox2.Text);
z = Convert.ToDouble(textBox3.Text);
if (textBox1.Text == "")
if (textBox2.Text == "")
if (textBox3.Text == "")
{
Console.WriteLine("Одно из значений не введено! Введите же его!");
}
else
{
Result.Items.Clear();
u = Math.Pow((Math.Sin(x) / Math.Cos(x)), 2) - Math.Exp(x - y) * Math.Sqrt(Math.Sin(x * x) + Math.Cos(z * z));
Result.Items.Add("При x=" + x);
Result.Items.Add(" y=" + y);
Result.Items.Add(" z=" + z);
Result.Items.Add("u=" + u);
}
} |
|
#2
|
||||
|
||||
|
Проверку на if нужно делать до конвертации. При этом проверку нужно делать для каждого поля.
Код:
if (textBox1.Text == "") || (textBox2.Text == "") || (textBox3.Text == "") |
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Царь (02.10.2014)
| ||
|
#3
|
||||
|
||||
|
Код:
if (textBox1.Text == "")
if (textBox2.Text == "")
if (textBox3.Text == "")
{
...
}Код:
if (textBox1.Text == "")
{
if (textBox2.Text == "")
{
if (textBox3.Text == "")
{
...
}
}
}Код:
if (textBox1.Text == "" && textBox2.Text == "" && textBox3.Text == "")
{
...
}Не нужно писать код так непонятно. Тогда вопрос сам отпадет. И проверять-то до конвертирования надо. Как angvelem и написал. ЗЫЖ а на случай записи в Text каких-то левых, не числовых, значений (если это возможно), можно использовать try-catch. Последний раз редактировалось Bargest, 02.10.2014 в 00:17. |
| Этот пользователь сказал Спасибо Bargest за это полезное сообщение: | ||
Царь (02.10.2014)
| ||
|
#4
|
||||
|
||||
|
Премного вам благодарен за ответы )
Да, действительно затупил, вычисляя сразу все строки... Ошибку теперь не выдает и не падает, однако почему-то не выдает заданное мной текстовое сообщение. Ладно, это сам найду. Спасибо еще раз ) |