首页 > 其他分享 >递归寻找节点

递归寻找节点

时间:2024-04-08 14:55:51浏览次数:21  
标签:set string 递归 get 寻找 Visibility 节点 private public

    public class FileNode : PropertyChangedBase
    {
        public FileNode()
        {
            this.Files = new ObservableCollection<FileNode>();
            this.IsFile = false;
        }

        private string _name = string.Empty;

        public string Name
        {
            get { return _name; }
            set
            {
                _name = value;
                NotifyOfPropertyChange(nameof(Name));
            }
        }

        private string _fullPath;

        public string FullPath
        {
            get => _fullPath;
            set
            {
                _fullPath = value;
                NotifyOfPropertyChange(nameof(FullPath));
            }
        }

        public FileNode Parent { get; set; }
        public ObservableCollection<FileNode> Files { get; set; }
        public bool IsFile { get; set; }
        public string PrefixPath { get; set; }

        private bool _isSelected;

        public bool IsSelected
        {
            get => _isSelected;
            set
            {
                _isSelected = value;
                NotifyOfPropertyChange(nameof(IsSelected));
            }
        }

        private bool _isExpanded;

        public bool IsExpanded
        {
            get => _isExpanded;
            set
            {
                _isExpanded = value;
                NotifyOfPropertyChange(nameof(IsExpanded));
            }
        }

        private Visibility _Visibility = Visibility.Visible;
        public Visibility Visibility
        { get { return _Visibility; } set { _Visibility = value; NotifyOfPropertyChange(nameof(Visibility)); } }
    }
	
        private FileNode FindFileNodeWithFullPath(IList<FileNode> nodes, string fullPath)
        {
            foreach (var file in nodes)
            {
                if (file.FullPath == fullPath)
                {
                    return file;
                }

                if (file.Files != null)
                {
                    var subFile = FindFileNodeWithFullPath(file.Files, fullPath);
                    if (subFile != null)
                    {
                        return subFile;
                    }
                }
            }
            return null;
        }

标签:set,string,递归,get,寻找,Visibility,节点,private,public
From: https://www.cnblogs.com/euvio/p/18121152

相关文章

  • C#实现的下拉多选框,下拉多选树,多级节点
    今天给大家上个硬货,下拉多选框,同时也是下拉多选树,支持父节点跟子节点!该控件是基于Telerik控件封装实现的,所以大家在使用的过程中需要引用Telerik.WinControls.dll、Telerik.WinControls.UI.dll,还有一些相关的类库,大家有需要的可以去网上自己找,另外我也会把一些动态库放到CSDN......
  • 基于C语言用递归思想实现斐波那契数列的函数设计
    用C语言并利用递归思想实现设计一个程序,完成斐波那契数列的函数设计,利用递归实现!/********************************************************************* filename: * author :[email protected]* date :2024/04/07* function:利用递归思想实现设计......
  • 二叉树的非递归遍历
    感谢b站up主优雅的代码:https://space.bilibili.com/95715842二叉树的非递归遍历非递归的先序遍历思想:利用栈先进后出的性质。将根节点入栈,(根节点出栈的同时先拉右子树入栈,之后拉左子树入栈;左子树出栈的同时先拉其右子树入栈);依次继续。voidpreOrder(TreeNode*root){......
  • 单节点部署K8S
    K使用Kubeadm搭建单节点安装前注意进行快照,方便多次安装练习。虚拟机基础信息系统:Ubuntu20.04.6LTS内核:5.15.0-67-generic硬盘:60G内存:12GCPU:4C4U本次安装参考博客地址:https://glory.blog.csdn.net/article/details/120606787安装前准备1.关闭防火墙systemctlstat......
  • XML文档节点导航与选择指南 | XPath基础知识
    XPath(XMLPathLanguage)是XSLT标准的主要组成部分。它用于在XML文档中浏览元素和属性,提供了一种强大的定位和选择节点的方式。XPath的基本特点代表XML路径语言:XPath是一种用于在XML文档中导航和选择节点的语言。路径样式语法:XPath使用路径表达式的“路径样式”语......
  • Acwing2024蓝桥杯递归
    模板:欧几里得算法//若a,b互质则返回1,否则返回0intgcd(inta,intb){returnb?gcd(b,a%b):a;}题目:AcWing1360.有序分数暴力模拟法(AC):#include<iostream>#include<algorithm>#definexfirst#defineysecondusingnamespacestd;intn;typed......
  • 【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab
     ......
  • [1483. 树节点的第 K 个祖先] 【路径】
    思路很简单:importjava.util.ArrayList;importjava.util.List;classTreeAncestor{List<Integer>[]children;List<List<Integer>>paths=newArrayList<>();int[][]pathIdMap;publicstaticvoidmain(String[]args){......
  • 二叉树-递归遍历
    深度优先遍历先往深走,遇到叶子结点再往回走,分为前序遍历,中序遍历和后序遍历。方法有递归法和迭代法。前中后序遍历,指的是中间节点的遍历顺序。前序遍历:5412678中左右中序遍历:1425768左中右后序遍历:1247865左右中深度优先遍历可利用递归法或者迭代法实......
  • 16天【代码随想录算法训练营34期】第六章 二叉树part03(● 104.二叉树的最大深度 559
    104.二叉树的最大深度#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defmaxDepth(self,root:O......