.NET 4.x Перебор коллекций дерева - C#

Узнай цену своей работы

Формулировка задачи:

Имеется класс
Листинг программы
  1. public class TreeModel
  2. {
  3. public IEnumerable<TreeModel> Children { get; set;}
  4. public string DisplayText { get; set; }
  5. }
Имеется коллекция этих классов
Листинг программы
  1. ObservableCollection<KitTreeModel> AllItems;
Как организовать (рекурсию или ещё чего) перебор всех элементов коллекции AllItems и их Children, если надо найти совпадающий по какому-то значению DisplayText и вернуть этот TreeModel?

Решение задачи: «.NET 4.x Перебор коллекций дерева»

textual
Листинг программы
  1. public TreeModel Find(Func<TreeModel, bool> myFunc)
  2.         {
  3.             foreach (TreeModel node in Children)
  4.             {
  5.                 if (myFunc(node))
  6.                 {
  7.                     return node;
  8.                 }
  9.                 else
  10.                 {
  11.                     TreeModel test = node.Find(myFunc);
  12.                     if (test != null)
  13.                         return test;
  14.                 }
  15.             }
  16.  
  17.             return null;
  18.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут