Tree<TKey, TValue>
public Tree(Func<TKey, IEnumerable<TKey>> pathSplitter, Func<IEnumerable<TKey>, TKey> pathCombiner, IReadOnlyTree<TKey, TValue>? parent = null, Predicate<IReadOnlyTree<TKey, TValue>>? canAddBranch = null, Predicate<IReadOnlyTree<TKey, TValue>>? canAddValue = null)
Language: C#
Дерево с возможностью добавления и удаления узлов и значений
Type Parameters:
- TKey: Тип ключа узла дерева
- TValue: Тип значения узла дерева
Parameters:
- pathSplitter: Функция для разбиения ключа на путь
- pathCombiner: Функция для объединения пути в ключ
- parent: Родительский узел дерева
- canAddBranch: Предикат для проверки возможности добавления ветви
- canAddValue: Предикат для проверки возможности добавления значения
public TValue? Value { get; set; }
Language: C#
Значение узла дерева
public TreeNodeType NodeType
Language: C#
Тип узла дерева (ветвь или лист)
public IReadOnlyTree<TKey, TValue>? Parent
Language: C#
Родительский узел дерева
public bool ContainsBranch(TKey folder)
Language: C#
Проверяет, содержит ли дерево указанную ветвь
Parameters:
- folder: Ключ ветви дерева
Returns: True, если ветвь с указанным ключом существует, иначе False
public IReadOnlyTree<TKey, TValue> GetBranch(TKey folder)
Language: C#
Получает ветвь дерева по указанному ключу
Parameters:
- folder: Ключ ветви дерева
Returns: Ветвь дерева с указанным ключом
public bool TryGetBranch(TKey folder, [NotNullWhen(true)] out IReadOnlyTree<TKey, TValue>? branch)
Language: C#
Пытается получить ветвь дерева по указанному ключу
Parameters:
- folder: Ключ ветви дерева
- branch: Переменная для хранения найденной ветви
Returns: True, если ветвь с указанным ключом найдена, иначе False
public IEnumerable<TKey> Branches
Language: C#
Ключи всех ветвей дерева
public TKey? GetPath()
Language: C#
Получает путь к текущему узлу дерева
Returns: Путь к текущему узлу дерева
public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()
Language: C#
public void Clear()
Language: C#
public bool Remove(TKey[] key)
Language: C#
public bool ContainsKey(TKey key)
Language: C#
public bool Remove(TKey key)
Language: C#
public void Remove(Predicate<TKey> removeIf)
Language: C#
public void Execute(Action<KeyValuePair<TKey, TValue?>> action)
Language: C#
public int Count
Language: C#
public bool IsReadOnly
Language: C#
public void Add(TKey key, TValue value)
Language: C#
public bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
Language: C#
public ICollection<TKey> Keys
Language: C#
public ICollection<TValue> Values
Language: C#