当需要动态调整多维列表时,我会使用什么
本文关键字:什么 列表 动态 调整 | 更新日期: 2023-09-27 18:22:00
我有一个列表,我想将其用作动态扩展的树视图,但如果我要在一个列表中有多个列表,则需要在初始列表的定义中声明。为了实现这一目标,我缺少了什么?有什么更好的东西可以用来实现我的目标吗?
出于上下文的考虑:我试图像树视图一样填充它,这样我就可以在我的应用程序中复制注册表。
为您的场景使用正确的类型。
在您的情况下,这是一个类TreeNode
,类似于:
public class TreeNode
{
private readonly List<TreeNode> _children = new List<TreeNode>();
public TreeNode(string name, params TreeNode[] children)
{
Name = name;
_children.AddRange(children);
}
public List<TreeNode> Children { get { return _children; } }
public string Name { get; set; }
}
假设以下树:
Root
+ Child1
+ Child1a
+ Child1b
+ Child2
+ Child2a
+ Child2aA
+ Child2aB
+ Child2b
你可以这样创建它:
var root = new TreeNode("Root",
new TreeNode("Child1",
new TreeNode("Child1a"),
new TreeNode("Child1b")),
new TreeNode("Child2",
new TreeNode("Child2a",
new TreeNode("Child2aA"),
new TreeNode("Child2aB")),
new TreeNode("Child2b")));