|
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 6
|
|||||||||||
Разница в реализации GetEnumerator()16.05.2014, 01:03. Показов 3432. Ответов 16
Метки нет (Все метки)
Объясните, плз, разницу в реализации GetEnumerator() в коде. Не могу понять почему так, а, к примеру, не наоборот.
Кликните здесь для просмотра всего текста
0
|
|||||||||||
| 16.05.2014, 01:03 | |
|
Ответы с готовыми решениями:
16
Реализация GetEnumerator() |
|
Master of Orion
|
||||||
| 16.05.2014, 01:08 | ||||||
|
zubr_7,
можно проще:
0
|
||||||
|
9 / 9 / 8
Регистрация: 22.04.2013
Сообщений: 52
|
|||||||||||
| 16.05.2014, 09:04 | |||||||||||
|
проверял кто в IL-code эти записи одно и то же
0
|
|||||||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||||
| 16.05.2014, 13:14 | ||||||
|
Можно еще проще:
1
|
||||||
|
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 6
|
||||
| 16.05.2014, 15:56 [ТС] | ||||
|
0
|
||||
|
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 6
|
||
| 16.05.2014, 16:31 [ТС] | ||
|
"this as IEnumerable<T>" - идёт приведение текущего экземпляра класса UserCollection<T> к интерфейсу IEnumerable<T>. Я правильно рассуждаю? Класс UserCollection<T> реализует ICollection<T>, который, в свою очередь, наследован от IEnumerable<T>, IEnumerable. А upcast это приведение к базовому типу. АААА! хмммммм К чему надо привести экземпляр UserCollection<T> чтоб был upcast?
0
|
||
|
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 6
|
||
| 16.05.2014, 16:36 [ТС] | ||
|
0
|
||
|
Master of Orion
|
||||||
| 16.05.2014, 19:30 | ||||||
|
zubr_7, приведение интерфейсов работает абсолютно по-другому, нежели поведение классов. Так что не ищите тут аналогий с апкастом и пр. Ну и принцип Лисков.
при вызове foreach вообще не происходит ничего особого. Пример:
Но все работает
0
|
||||||
|
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 6
|
|||||||
| 16.05.2014, 23:32 [ТС] | |||||||
![]() Уважамый, Spawn! Под "box" вы имели в виду boxing ? Boxing - преобразование типа значений к ссылочному типу. Upcast - приведение к базовому типу. "this as IEnumerable<T>" - это разве не приведение к базовому типу?
0
|
|||||||
|
Master of Orion
|
||||||
| 17.05.2014, 00:05 | ||||||
|
zubr_7, еще раз: с точки зрения среды базовый класс - это одно, а определяемые интерфейсы - совершенно другое.
И при чем тут вообще апкаст? Добавлено через 44 секунды zubr_7, так криво вставилось почему-то
0
|
||||||
|
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 6
|
||
| 17.05.2014, 22:16 [ТС] | ||
|
из моего примера class UserCollection<T> : ICollection<T> interface ICollection<T> : IEnumerable<T>, IEnumerable я до сих пор не могу понять. Почему приведение экземпляра класса UserCollection<T> к IEnumerable<T> вы все называете (соглашаетесь) boxом (boxing, да?), а не upcastом?
0
|
||
|
0 / 0 / 0
Регистрация: 26.02.2014
Сообщений: 5
|
||||||
| 17.05.2014, 23:37 | ||||||
0
|
||||||
| 17.05.2014, 23:37 | |
|
Помогаю со студенческими работами здесь
17
IEnumerable Различие в реализациях GetEnumerator
Реализация IEnumerable<T>: GetEnumerator не имеет соответствующего возвращаемого типа
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|