![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Wanderer2019 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 7 Всего: 17 |
Привет!
У меня есть класс который обхдит определенную дерикторию со всеми ее файлами и папками. Т.О. нечто вроде привычного Tree написанного для собственных нужд. теперь в этом моем tree мне нужно найти файл или папку. Для этого я пишу функцию основанную на рекурсии:
проюлема в том, что мне не вернуть значение. После того как значение найдено и отработал return, функция продолжает поиск по другим каталогам =( как просто вернуть найденное значение???? |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Код не компилится... ну да ладно. В общем, при рекурсивном поиске можно сделать так: метод производит сравнение с элементом дерева на текущем уровне, и если сравнение удачное - возвращает найденное значение. Если неудачное - вызывает сам себя рекурсивно для каждого вложенного элемента дерева, причём если результат любого такого вызова был не null, то метод прекращает перебор вложенных элементов и возвращает результат, полученный от вложенного элемента. Если после перебора всех элементов ничего не было найдено, метод возвращает null. Вот пример кода, объясняющего принцип рекурсивного поиска:
Результатом такого поиска будет либо объект TreeItem, у которого св-во Value равно whatToSearch, либо null если ничего не найдено. -------------------- ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |