.NET 4.x Перебор коллекций дерева - C#
Формулировка задачи:
Имеется класс
Имеется коллекция этих классов
Как организовать (рекурсию или ещё чего) перебор всех элементов коллекции
public class TreeModel
{
public IEnumerable<TreeModel> Children { get; set;}
public string DisplayText { get; set; }
}ObservableCollection<KitTreeModel> AllItems;
AllItems и их Children, если надо найти совпадающий по какому-то значению DisplayText и вернуть этот TreeModel? Решение задачи: «.NET 4.x Перебор коллекций дерева»
textual
Листинг программы
public TreeModel Find(Func<TreeModel, bool> myFunc)
{
foreach (TreeModel node in Children)
{
if (myFunc(node))
{
return node;
}
else
{
TreeModel test = node.Find(myFunc);
if (test != null)
return test;
}
}
return null;
}