если еще строка ноль - PullRequest
       1

если еще строка ноль

2 голосов
/ 22 февраля 2011

У меня есть два текстовых поля. Если 1 из textbox.text пуст, MessageBox покажет пользователю, что он не заполнил поля полностью. Однако это не работает ...

Это код:

private void tab1nextButton_Click(object sender, RoutedEventArgs e)
{
    if ((AntcbatchpathTextBox.Text == null) || (MasterbuildpropertiespathTextBox.Text == null))
    {
        System.Windows.MessageBox.Show("You have not specified the paths completely!");

    }
    else
    {
        Tabitem2.Visibility = Visibility.Visible;
        Tabcontrol1.SelectedIndex = 1;

    }
}

Я попытался добавить точку останова, чтобы проверить непосредственные значения. Когда один из Textbox.Text пуст, непосредственное значение равно «» соответственно. Что-то не так с моим кодом?

Ответы [ 5 ]

6 голосов
/ 22 февраля 2011

попробуй string.IsNullOrEmpty(AntcbatchpathTextBox.Text)

2 голосов
/ 22 февраля 2011

Существует разница между пустой строкой и пустой строкой.

Пустое текстовое поле будет содержать пустую строку, поэтому вы должны проверить ...Text == "" или ...Text == string.Empty вместо ...Text == null.

0 голосов
/ 22 февраля 2011

Вы должны проверить наличие пустых строк. Код 'AntcbatchpathTextBox.Text == null' проверяет наличие нулевой ссылки. Используйте это вместо этого.

string.IsNullOrEmpty(AntcbatchpathTextBox.Text)
0 голосов
/ 22 февраля 2011

Пустые и пустые строки - это две разные концепции. Null - это ссылка, которая не указывает на какой-либо объект в памяти. Пустая строка - это строковый объект нулевой длины, который создается в куче. Если вы проверите для не нуль, это только проверяет, что ссылка указывает на объект и ничего больше. Для пустой строки вы должны включить отдельную проверку или просто использовать string.IsNullOrEmpty

0 голосов
/ 22 февраля 2011

String.Empty и null не совпадают .
В вашем случае пустое TextBox всегда будет String.Empty.

Вы должны проверить Empty с помощью метода String.IsNullOrEmpty:

String.IsNullOrEmpty(AntcbatchpathTextBox.Text)

или

AntcbatchpathTextBox.Text == String.Emtpy
AntcbatchpathTextBox.Text == ""


См. Также этот вопрос / ответы ТАК: В C # я должен использовать string.Empty или String.Empty или ""?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...