unmvyd

博客园 首页 新随笔 联系 订阅 管理
TreeStruct
{
    string id;
    string parentId;
    ObservableCollection<TreeStruct> children;
}
ObservableCollection<TreeStruct> BuildTree(string rootId, List<TreeStruct> allList)
{
            //根据父节点ID进行分组
            var dic = allList.GroupBy(x => x.parentId).ToDictionary(group => group.Key, group => new ObservableCollection<TreeStruct>(group));
            //设置每一项的子节点
            foreach (var kv in dic)
            {
                foreach (var val in kv.Value)
                {
                    
                    if(dic.ContainsKey(val.id))
                    {
                        val.children = dic[val.id];
                    }
                    
                }
            }
            //取出根结点,下面自动成树
            return dic[rootId];
}

是https://blog.csdn.net/qq_38516524/article/details/122046824
中方法的C#实现

posted on 2024-11-22 18:47  准爵  阅读(11)  评论(0)    收藏  举报