|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.02.2015, 21:48 | #1 |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
излишняя проверка после использования ключевого слова is
Попался такой момент:
Код:
[codeif (obj is Person && obj != null)[/code] где проверяется "является" ли obj Person' ом. Если условие истинно, т.е. "является" только в условии if отрабатывается дальше. Если нет происходит исключение. Так вот. Если всё-таки тело отрабатывается дальше, то это означает, что obj "является" Person. Возникает логичный вопрос. Зачем приводит obj к типу Person, если мы уже и так проверили, что он "является" этим типом? Последний раз редактировалось Stilet; 11.03.2015 в 22:23. |
15.02.2015, 22:08 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Т.е. она работает и живет только в рамках условия, но не распространяется на тело самого if. Поэтому даже если компиль не заругается, кольскоро ты не напишешь (Person)obj, оставив только obj, это не есть хороший тон программирования, и в строго типизированных ЯВУ такое попустительство не проканает. Думаю шарпейчик тоже не обрадуется, если ты не укажешь тип приведения.
I'm learning to live...
|
|
16.02.2015, 20:13 | #3 | |||
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Цитата:
Цитата:
Цитата:
Код:
|
|||
11.03.2015, 21:09 | #4 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 774
|
Код:
Он выведет три раза подряд true. Из-за необходимости обработки таких случаев и нужно приводить явно.
a.k.a. Angelicos Phosphoros
Мой сайт Последний раз редактировалось New man; 11.03.2015 в 21:10. Причина: лишняя запятая |
11.03.2015, 21:18 | #5 | |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Цитата:
Благодарить в репутацию. Проклинать — туда же
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование ключевого слова as | Notegimcool | C# (си шарп) | 3 | 16.05.2014 12:35 |
частота использования слова в Memo | Vashkin | Компоненты Delphi | 12 | 08.01.2012 13:15 |
Поиск ключевого слова по текстовым файлам в заданной директории....помогите плиз | N-tony | Общие вопросы C/C++ | 0 | 07.01.2010 14:46 |
virtualbox: не работает сеть на компе после использования этой проги | bill_gates | Софт | 0 | 05.07.2009 13:03 |
Кодирование на основе ключевого слова и шифрование файла | Шульц | Помощь студентам | 5 | 24.09.2008 22:09 |