![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
Очередной.
В каком случае необходимо писать if (flag == true) вместо if (flag)? (работа в индусской промышленности не в счёт) |
![]() |
![]() |
![]() |
#2 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,836
|
![]()
Не знаком с .Net, какая там типизация? Если допустить, что flag не булева переменная, а целочисленная, то если flag = 1, тогда if (flag) сработает, а if (flag == true) - нет.
Всего лишь моя догадка. E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#3 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]()
flag-булева переменная
if(flag)-если флаг true идет в if if(!flag)-если флаг false идет в if flag-любой другой тип, тогда все равно надо кастить к bool, а уж как какой тип кастится большой вопрос. if (flag == true) - я не использую, засоряет код, да и зачем явное сравнение?
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Код:
![]() Однако, сам факт того, что язык допускает более короткое наименование уже говорит что нужно использовать именно его. Также все зависит от того какие стандарты используются в Вашей конторе ![]() PS. На Мелкософте для логических выражений используется именно короткая форма, хотя прямого указания что и как писать для if (как например для 1С) нету.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 25.07.2012 в 16:22. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 02.09.2011
Сообщений: 336
|
![]()
Ни в каком. Если flag является булевым типом или в неявном виде способен вернуть булевое значение.
Код:
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
В каком случае if (flag == true) будет работать очевидным образом, а if (flag) вызовет ошибку компиляции?
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
могу предположить что если у класса есть сравнение с bool(оператор всм), а приведения к bool нету.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
Как всегда, пришёл Пепел Феникса и всё разрулил.
![]() Правда я, когда задавал вопрос, подразумевал более простой ответ. Код:
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
bool? вообще-то не bool и здесь явно только длинная форма. Короткая форма используется только для типа bool. Код вдруг оброс новыми подробностями ![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 26.07.2012 в 13:23. |
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
А я нигде не говорил, что flag имеет тип bool.
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вопрос на засыпку по show columns | smoke888 | SQL, базы данных | 5 | 17.09.2012 12:46 |
Вопрос на засыпку | mnbvcxz13 | Свободное общение | 3 | 09.11.2011 18:36 |
вопрос на засыпку...... | Rukata | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 19.09.2009 23:39 |
Вопрос на засыпку | BuT@JL | Помощь студентам | 6 | 08.03.2009 12:56 |