Member 14775350 Ответов: 1

Как я могу удалить нулевые элементы внутри моего списка просмотра каждый раз, когда я добавляю новый элемент?


с каждым щелчком цена из текстового поля должна добавляться в представление списка, а затем текстовое поле будет очищено в конце, и вот моя проблема, если я нажму кнопку, когда текстовое поле пусто, оно добавит нулевое значение в представление списка, не учитывая условие внутри цикла if

Что я уже пробовал:

if (tbBar1price.Text!=null)
            {
                lvBar1.Items.Add(tbBar1price.Text);
                tbBar1.Clear();
            }

1 Ответов

Рейтинг:
5

OriginalGriff

текстовое поле.Свойство Text является строкой и никогда не возвращает нулевое значение - даже для "пустого" текстового поля - вместо этого оно возвращает пустую строку: либо"", либо string.Пустые (это одно и то же, и их можно использовать взаимозаменяемо).

Поэтому вместо того, чтобы проверять значение null, проверьте наличие пустого текстового поля. Лучший способ сделать это вот так:

if (!string.IsNullOrWhiteSpace(tbBar1price.Text))
   {
   ...
Поскольку это позволяет пользователю вводить пробелы, не принимая их.

Вероятно, это хорошая идея, чтобы проверить значения, когда пользователь вводит их: если он вводит "привет" в качестве цены, вы не хотите, чтобы это попало в вашу базу данных, так как это только испортит последующую обработку, и вы не сможете легко исправить ее после ввода.
Посмотрите на различные методы TryParse для преобразования пользовательского ввода в число:
Типа int32.Метод TryParse (Система) | Microsoft Docs[^]
Двойной.Метод TryParse (Система) | Microsoft Docs[^]
например.