С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
1 / 1 / 1
Регистрация: 15.06.2013
Сообщений: 83

Если If = true, то выполнить и больше не проверять условие для следующих аргументов

28.03.2015, 16:07. Показов 4247. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
       if (txt.Text == "")
                    {
                        MessageBox.Show("Вы заполнили не все предоставленные поля");
                        
                    }
Как переделать так, чтобы при первом же встречном пустом текстбоксе выолнялось тело IF и больше проверок не проводилось?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.03.2015, 16:07
Ответы с готовыми решениями:

TRUE соответствует «орел», а FALSE — «решка». Составить пять выражений, выдающих TRUE для следующих случаев
В переменные M1, M2 и M3 вводится итог подбрасывания трех монет так, что TRUE соответствует «орел», а FALSE — «решка». Надо составить...

Выполнить html усли условие true
Выполнить html усли условие true. Как правильно написать что-то типа: <script> if(device.windows()){ </script> ...

Условие Если и несколько аргументов
Здравствуйте, столкнулся с задачей, которую не получается решить. Что я имею: 1.Есть табличка с наименованием материалов и их количеством...

10
 Аватар для Prizrak86
52 / 52 / 18
Регистрация: 20.03.2015
Сообщений: 278
28.03.2015, 16:25
Лучший ответ Сообщение было отмечено Sergey_Yysmaa как решение

Решение

при инициализации запиши в
C#
1
txt.Tag = true;
потом при проверке в условии сделай так
C#
1
2
3
4
5
if (txt.Tag && txt.Text == "")
{
      txt.Tag = false;
      MessageBox.Show("Вы заполнили не все предоставленные поля");
}
1
41 / 33 / 24
Регистрация: 09.06.2012
Сообщений: 144
28.03.2015, 16:30
Лучший ответ Сообщение было отмечено Sergey_Yysmaa как решение

Решение

Sergey_Yysmaa, вообще на на случай если у вас некое средство проверки корректности данных вводимых в интерфейсные объекты, то можно организовать метод, который выносит вердикт - хорошо/плохо/сам себе enum.
Типа такого:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
bool Cheks()
    {
        if (TextBox1.Text.Length != 0)
        {
            return false;
        }
        else if (TextBox2.Text.Length != 0)
        {
            return false;
        }
 
        return true;
    }
 
...
 
if(Checks())
{
    //делаю вот тут что-нибудь
}
На крайняк можно отказать от метода Checks и его тело сунуть в тело вашего целевого метода =)
1
 Аватар для Prizrak86
52 / 52 / 18
Регистрация: 20.03.2015
Сообщений: 278
28.03.2015, 16:44
SmashDream, а еще возможно сократить логические операции
C#
1
2
3
4
bool Cheks()
    {
        return TextBox1.Text.Length == 0;
    }
но поскольку я понял проверка для одного объекта должна выполнять один раз а если такое правило действует для нескольких объектов то можно подписать событие на один метод и получать объект вызвавший этот метод.
получиться так
C#
1
2
3
4
5
6
TextBox txt = (TextBox)sender;
if (txt.Tag && txt.Text == "")
{
      txt.Tag = false;
      MessageBox.Show("Вы заполнили не все предоставленные поля");
}
0
41 / 33 / 24
Регистрация: 09.06.2012
Сообщений: 144
28.03.2015, 16:50
Prizrak86, дело вкуса ))
Мне по душе проверка всего что нужно в одном месте, с выводом индивидуальных сообщений на каждый случай ( ^_^)
А вообще я конечно о печатался пару раз - Cheсks D:
0
 Аватар для Prizrak86
52 / 52 / 18
Регистрация: 20.03.2015
Сообщений: 278
28.03.2015, 16:52
Цитата Сообщение от SmashDream Посмотреть сообщение
А вообще я конечно о печатался пару раз - Cheсks D:
а я и не заметил, наш виртуальный компилятор не сработал.
0
 Аватар для Scrypto
132 / 111 / 48
Регистрация: 08.02.2013
Сообщений: 621
28.03.2015, 17:06
Sergey_Yysmaa,
C#
1
2
3
4
5
 if (txt.Text == "")
                    {
                        MessageBox.Show("Вы заполнили не все предоставленные поля");
                        return;
                    }
Добавлено через 6 минут
Можешь ради интереса в отладчике поставить брейкпоинт на строку с условием, и нажимая F10 проследить за поведением такого кода.

C#
1
2
3
4
5
6
7
8
9
10
   if (txt.Text == "")
            {
                MessageBox.Show("Вы заполнили не все предоставленные поля");
                return;
            }
            if (txt.Text == "")
            {
                MessageBox.Show("Вы заполнили не все предоставленные поля");
                
            }
0
 Аватар для Prizrak86
52 / 52 / 18
Регистрация: 20.03.2015
Сообщений: 278
28.03.2015, 17:16
Цитата Сообщение от Scrypto Посмотреть сообщение
Sergey_Yysmaa,
C#
1
2
3
4
5
 if (txt.Text == "")
                    {
                        MessageBox.Show("Вы заполнили не все предоставленные поля");
                        return;
                    }
Добавлено через 6 минут
Можешь ради интереса в отладчике поставить брейкпоинт на строку с условием, и нажимая F10 проследить за поведением такого кода.

C#
1
2
3
4
5
6
7
8
9
10
   if (txt.Text == "")
            {
                MessageBox.Show("Вы заполнили не все предоставленные поля");
                return;
            }
            if (txt.Text == "")
            {
                MessageBox.Show("Вы заполнили не все предоставленные поля");
                
            }
судя из названия темы проверяться этот элемент должен всего 1 раз. и речь о прерывании процедуры не идет или я не правильно понял
1
Модератор
Эксперт функциональных языков программирования
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,876
28.03.2015, 17:25
C#
1
2
3
4
5
6
7
8
9
10
11
12
    if(x == 0)
    {
        DoSomething();
    }
    else if(y == 0)
    {
        DoOther();
    }   
    else if (z == 0)
    {
        DoAnother();
    }
Если выполнится первое условие, то остальные не будут проверяться.
1
 Аватар для Scrypto
132 / 111 / 48
Регистрация: 08.02.2013
Сообщений: 621
28.03.2015, 18:03
Prizrak86, человек хочет, чтобы дальнейшие проверки не проводились, если хоть одна не пройдена. Соответственно выход из условия, как я думаю, наиболее подходящий вариант. В твоем же случае, программа не оптимальна, и проверит условия, всех остальных проверок, хоть и само тело проверки выполнять не будет.
0
1 / 1 / 1
Регистрация: 15.06.2013
Сообщений: 83
29.03.2015, 10:23  [ТС]
Все ответы были очень полезными, Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.03.2015, 10:23
Помогаю со студенческими работами здесь

Метод, возвращающий true, если среди четырех его аргументов ровно два истинны любые
Не могу понять как выполнить задание : Реализуйте метод, возвращающий true, если среди четырех его аргументов ровно два истинны...

Как задать условие, если Image->visiable=true
как задать условие если Image->visiable=true; а то я делаю не получается?

Как сменить название кнопки, если условие стоит true/false
пусть меня засмеют, но начал писать в VB на VSE 2010 :) пока что набросал небольшую менюшку, да в трей помогли засунуть.... ...

Присвоить логической переменной t значение true, если выполняется логическое условие
Добрый вечер. В паскале я разбираюсь пока не очень. Вот решил задачу, но сомневаюсь насчет правильности решения. Подскажите пожалуйста если...

Функция, которая возвращает True только тогда, когда хотя бы два из трех её аргументов равны True
Задание: Функция twoTrue :: Bool -> Bool -> Bool -> Bool, которая возвращает True тогда и только тогда, когда хотя бы два из трех её...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru