Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Проверка textBox1.Text на наличие текста


Автор: PashaSem 29.6.2006, 22:39
Всем Привет!

Как проверить textBox1.Text  на наличие текста?

Спасибо! 

Автор: Ch0bits 29.6.2006, 23:20
Код

if (textBox1.Text!="") MessageBox.Show("Текст есть!");
 

Автор: Wanderer2019 30.6.2006, 09:14
угу... только я бы проверял
Код

textBox1.Text.Trim()!=""

чтоб пробелы и табы не влезли =) 

Автор: VisualProgrammerNET 4.7.2006, 23:22
Если влезет пробел или таб, это уже не ""  smile  

Автор: arilou 4.7.2006, 23:44
Ch0bits, Wanderer2019, VisualProgrammerNET, 

FYI строки нажо проверять вот так:

Код

if(myString.Trim().Length > 0)


или так
Код

if(myString.Trim() != string.Empty)

 

Автор: ivashkanet 5.7.2006, 08:51
arilou, а почему???
P.S. Всегда проверял на "", а тут на те  smile 
 

Автор: Kefir 5.7.2006, 08:57
ivashkanet, Trim() отрезает пробельные символы (до первого непробельного символа с начала строки и до первого непробельного символа с конца строки) и , если пользователь вводит пробел в текстовый бокс, то твоя проверка нработает ( " " != ""). А в случае с тримом проверка покажет, что это пустая строка. 

Автор: ivashkanet 5.7.2006, 09:00
Kefir, это понятно. Про Trim я в курсе
Я не понимаю почему нужно сравнивать с 
Цитата(arilou @  4.7.2006,  23:44 Найти цитируемый пост)
string.Empty
 или проверять длинну строки smile 
 

Автор: Wanderer2019 5.7.2006, 09:16
Цитата(ivashkanet @  5.7.2006,  09:00 Найти цитируемый пост)
Kefir, это понятно. Про Trim я в курсе
Я не понимаю почему нужно сравнивать с 
Цитата(arilou @  4.7.2006,  23:44 Найти цитируемый пост)
string.Empty
 или проверять длинну строки smile 


Код

String.Empty

Это системная перименная, которая и описывает пустую строчку...

Ну а с длинной стоки то чего тут непонятного smile 

Аффтар спросил... как проверять TextBox на наличие текста...
Равенство длины строки нулю и говорит о том что строчка пуста =) 

Автор: ivashkanet 5.7.2006, 09:22
Звиняюсь, допустил неточновть в вопросе.
Исправляюсь: Я не понимаю почему нужно сравнивать именно с String.Empty или проверять на полжительную длинну.
Чем так "" не угодил  smile  smile  smile 
Задаю этот вопрос потому, что самого терзают смутные сомнения на неправильность моего (с "") подхода

Добавлено @ 09:31 
Вот что сказал MSDN про String.Empty:
Цитата
The value of this field is the zero-length string, "".

Т.Е. всё то же "" 

Автор: Wanderer2019 5.7.2006, 09:46
да ну это ж типа как нравится я так думаю...
просто Framework имеет ряд системных переменных... и я думаю все таки рекомендовано использовать именно их... т.к. где нить в глубинах Framework`а значения их наверняка можно поменять... и не придется исправлять по всему коду...

как например Environment.NewLine...
ведь можно так же написать "\r\n"

Или тож самое например значение переменной Windows - SystemFolder (или как то так)
и т.д.

ну вот мне так думается...

а с длиной строки это совершенно равноправные варианты. 

Автор: mr.DUDA 5.7.2006, 10:32
Никакой разницы между использованием string.Empty и "" нет. Это дело стиля.

Сомневающимся - читать про intern string pool. 

Автор: Softaz 17.7.2006, 15:48
Цитата(mr.DUDA @  5.7.2006,  10:32 Найти цитируемый пост)
Никакой разницы между использованием string.Empty и "" нет


А между NULL и Empty тоже нет?
А в базе данных?

Код

if (string.IsNullOrEmpty(textBox1.Text))
   {
        
   }
  

Автор: mr.DUDA 17.7.2006, 16:55
Цитата(Softaz @  17.7.2006,  15:48 Найти цитируемый пост)
А между NULL и Empty тоже нет?

Это совсем другое. В обычном текстбоксе в Text нельзя запихнуть null, там всегда будет "".

Цитата(Softaz @  17.7.2006,  15:48 Найти цитируемый пост)
А в базе данных?

Причём здесь база данных ? В вопросе ничего этого не было. А для БД в дотнете используется DBNull.Value  

Автор: Softaz 17.7.2006, 16:59
Цитата(mr.DUDA @  17.7.2006,  16:55 Найти цитируемый пост)
Причём здесь база данных ?

Я про то, что когда из БД берется какое-либо значение, равное DBNull.Value, и приводится к string, то может ли оно быть в NULL или же оно Empty.  

Автор: mr.DUDA 17.7.2006, 17:06
Цитата(Softaz @  17.7.2006,  16:59 Найти цитируемый пост)
Я про то, что когда из БД берется какое-либо значение, равное DBNull.Value, и приводится к string, то может ли оно быть в NULL или же оно Empty

В разных контролах по-разному. Например, в DevExpress-овских есть специальное св-во NullValue, а в простом текстбоксе разницы нет, и сделать в ячейке DBNull.Value через textBox1.Text не выйдет:

Код

using System;
using System.Data;
using System.Windows.Forms;

namespace WindowsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        protected override void OnLoad(EventArgs e)
        {
            DataTable t = new DataTable();
            t.PrimaryKey = new DataColumn[] { t.Columns.Add("Id", typeof(int)) };
            t.Columns.Add("TextField", typeof(string));
            t.Rows.Add(1, DBNull.Value);

            textBox1.DataBindings.Add("Text", t, "TextField");
            
            object whatIsHereNow = textBox1.Text;

            // whatIsHereNow - пустая строка.

            base.OnLoad(e);
        }
    }
}
 

Автор: bc0der 20.7.2006, 17:50
Обалдеть , у всех столько мнений !!!
Если текста нет , значит длина его = 0 . Вот и проверяйте так textBox .

Код

if(textBox1.Text.Length==0) MessageBox.Show(" Пусто !!! ");
 

Автор: ivashkanet 21.7.2006, 10:22
Цитата(bc0der @  20.7.2006,  17:50 Найти цитируемый пост)
Если текста нет , значит длина его = 0 . Вот и проверяйте так textBox .

Цитата(bc0der @  20.7.2006,  17:50 Найти цитируемый пост)
Обалдеть , у всех столько мнений !!!

Это всего лишь твое мнение  smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)