|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
Сделал класс дерево с функцией обхода этого дерева. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Хочется создать дочерний класс, чтобы у него было поле children и обход совершался именно по нему - как это сделать? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Если я вызову функцию IterateCells, то IterateCells будет работать со своей коллекцией children. как "переопределить" эту коллекцию? Вернее, как сделать так, чтобы поиск шёл именно по тем children, которые в MDCell ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 01:33 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
На данный момент решил задачу вот так (это сильно через ж.-у?) Код: c# 1. 2. 3.
Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 01:51 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
Charles WeylandНа данный момент решил задачу вот так (это сильно через ж.-у?) Пойдёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 07:22 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
Charles Weyland, Сделай универсальный "обходчик" дерева и работай с любыми деревьями без выкрутасов с ООП. Рассматривай это как альтернативный способ, о котором стоит подумать. Альтернативный способ Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 08:57 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
Да, идея отличная. Хороший код. Но есть вопрос Алексей К Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
а разве не Алексей К Код: c# 1.
? и зачем там Reverse? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 12:11 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
для иерархических структур, можно наследоваться сразу от списка бл* базового класса. Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 13:30 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
Charles WeylandДа, идея отличная. Хороший код. Но есть вопрос Алексей К Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
а разве не Алексей К Код: c# 1.
? и зачем там Reverse?Там расширяющий метод для IEnumerable, в принципе пофиг, оформляй как самому больше нравится. Reverse нужен для того, чтобы на выходе элементы были в порядке поступления, без него будут в обратном порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 04:26 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
Алексей КReverse нужен для того, чтобы на выходе элементы были в порядке поступления, без него будут в обратном порядке. Queue? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 05:55 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
hVosttАлексей КReverse нужен для того, чтобы на выходе элементы были в порядке поступления, без него будут в обратном порядке. Queue?Нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 05:58 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
Алексей К,Reverse нужен для того, чтобы на выходе элементы были в порядке поступления, без него будут в обратном порядке Reverse возвращает void, поэтому метод расширения не вызывается. А в целом, согласен. Спасибо за подход. Потёр свой код и воспользовался советом. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 10:32 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
Алексей КhVosttпропущено... Queue?Нет. Queue FIFO же. Алексей Кчтобы на выходе элементы были в порядке поступления ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 10:34 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
hVosttАлексей Кпропущено... Нет. Queue FIFO же. Алексей Кчтобы на выходе элементы были в порядке поступленияОбход дерева в глубину делается через Stack. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 10:36 |
|
Class B: A<B> - подправьте, пожалуйста
|
|||
---|---|---|---|
#18+
Алексей КОбход дерева в глубину делается через Stack. А, не заметил, это же не стек реверс, а для стека. Тогды норм ) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 10:46 |
|
|
start [/forum/topic.php?fid=20&msg=39315984&tid=1400335]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 160ms |
0 / 0 |