Метод String.IndexOf - C#

Узнай цену своей работы

Формулировка задачи:

Разбираюсь в следующем коде, в коде представлен обработчик события нажатия клавиши в textBox т,е проверяется условие чтобы нажимались только цифры и запятая два раза не была введена, т.к нужно ввести либо целое число либо дробное. Впринципе код мне понятен не могу до конца разобраться в строчке номер 27, где проходит проверка есть запятая или нет. - ВОПРОС: что значит вот этот текст

!=-1

про метод String.IndexOf я почитал в данном случае он возвращает индекс первого вхождения указанного знака Юникода в данной строке. Получается дословно здесь говорится если не равен минус один, как понимать это не равен минус один?
// нажатие клавиши в поле редактирования
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            // Правильными символами считаются цифры,
            // запятая, <Enter> и <Backspace>.
            // Будем считатьать правильным символом
            // также точку, на заменим ее запятой.
            // Остальные символы запрещены.
            // Чтобы запрещенный символ не отображался 
            // в поле редактирования,присвоим 
            // значение true свойству Handled параметра e
 
            if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))
            {
                // цифра
                return;
            }
 
            if (e.KeyChar == '.')
            {
                // точку заменим запятой
                e.KeyChar = ',';
            }
 
            if (e.KeyChar == ',')
            {
                if (textBox1.Text.IndexOf(',') != -1)
                {
                    // запятая уже есть в поле редактирования
                    e.Handled = true;
                }
                return;
            }
 
            if (  Char.IsControl (e.KeyChar) )
            {
                // <Enter>, <Backspace>, <Esc>
                if ( e.KeyChar == (char) Keys.Enter)
                    // нажата клавиша <Enter>
                    // установить курсор на кнопку OK
                    button1.Focus(); 
                return;
            }
 
            // остальные символы запрещены
            e.Handled = true;
        }

Решение задачи: «Метод String.IndexOf»

textual
Листинг программы
e.Handled = true;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5