|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
Я упражняюсь в написании классов, пишу класс для дроби. И столкнулся с проблемой, перегрузил операцию !=. Дальше в тексте при проверке на null, попадаю в этот метод, но он не предназначен для null. Вопрос, для проверки на null надо отдельную перегрузку писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 13:23 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
Предназначен. Если вы перегружаете != то и == должны перегрузить. Вообще, != это противоположность == и вся логика в основном сидит в ==/ ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 17:31 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
это я знаю, эти операторы перегружаются по парно. Просто до того как я их перегрузил, проверка на null работала, а после перегрузки не работает. И я не знаю что делать ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 18:14 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
dimasikus, код показывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 10:57 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
dimasikusэто я знаю, эти операторы перегружаются по парно. Могу ошибаться, но смысла в этом нет... Достаточно == dimasikusПросто до того как я их перегрузил, проверка на null работала, а после перегрузки не работает. И я не знаю что делать Что-то... брекпоинт поставить :) ну и обработать null исходя из вашей логики... а вообще, лучше не знать о такой возможности, как перегрузка операторов... боюсь в реальном проекте вас оскопят за применение этого знания... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 12:41 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
dimasikusИ я не знаю что делать Не заниматься ерундой. Перегрузка операторов вещь, конечно, интересная, но ИМХО бессмысленная. Спецификация CLS ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 13:30 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
Arm79dimasikusИ я не знаю что делать Не заниматься ерундой. Перегрузка операторов вещь, конечно, интересная, но ИМХО бессмысленная.Ага, особенно для:dimasikusЯ упражняюсь в написании классов, пишу класс для дроби . ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 13:36 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
Вот код, при сравнении с null, obj2 равен null и выскакивает ошибка. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
Arm79 вы говорите что бессмысленно, но а если допустим надо сравнить одну дробь с другой, ведь дроби сравниваются не так как целые числа. Как тогда поступить в этом случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 14:15 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
dimasikus, либо явно проверяйте obj1 и obj2 на null, либо вместо класса используйте структуру для реализации дроби. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 14:23 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
dimasikus, Код: c# 1. 2.
Делать так. Ошибка, новичка, если честно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 20:48 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
Абсолют, а зачем приводить к типу Object? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 23:58 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
Я всегда так проверял на null. А как можно по другому? Просто я не задумывался что это не правильно, нам так препод показывал. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2013, 11:42 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
dimasikusА как можно по другому?Так: Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2013, 12:25 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
dimasikusЯ всегда так проверял на null. А как можно по другому? Просто я не задумывался что это не правильно, нам так препод показывал. Код: c# 1.
Так тоже можно. Но не проканает тут. skyANAАбсолют, а зачем приводить к типу Object? Потому, что перегруз "==". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2013, 17:20 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
dimasikusЯ всегда так проверял на null. А как можно по другому? Просто я не задумывался что это не правильно, нам так препод показывал. Только не value типы. Вообще старайтесь типимизации уделять больше внимания. Я ничего плохого не вижу в перегрузе операторов сравнения, но ими нужно уметь пользоваться. И учиться прользоваться перегрузкой операторов нужно только тогда, когда вы понимаете и знаете на отметку A+ что такое обобщения, наследования и прочая ООП лабудень в контексте .net ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2013, 17:24 |
|
Перегрузка оператора !=
|
|||
---|---|---|---|
#18+
dimasikusнам так препод показывал. Лучше бы он показал вам в первую очередь свой Git аккаунт. Если нету - то грошь цена таким преподавателям. dimasikusчто это не правильно См. выше мои два комментария. В данном случае это уместно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2013, 17:30 |
|
|
start [/forum/topic.php?fid=20&msg=38111097&tid=1405355]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 160ms |
0 / 0 |