C# 在C中使用类作为列表对象
我需要在控制台中创建模拟菜单的代码,该控制台具有子菜单,这些子菜单也是菜单:C# 在C中使用类作为列表对象,c#,list,tree,C#,List,Tree,我需要在控制台中创建模拟菜单的代码,该控制台具有子菜单,这些子菜单也是菜单: class MenuItem { public int ID; public string Caption; public List<MenuItem> Children; } 如何申报儿童?不确定我是否理解您的问题,但是: public List<MenuItem> Children = new List<MenuItem>(); 只需添加子项=新列表
class MenuItem
{
public int ID;
public string Caption;
public List<MenuItem> Children;
}
如何申报儿童?不确定我是否理解您的问题,但是:
public List<MenuItem> Children = new List<MenuItem>();
只需添加子项=新列表
然后,如果要添加项目,只需执行以下操作:
Children.addnewmenuitem 您已经声明了它,您想知道如何初始化它吗?有很多方法可以做到这一点。你的问题不是很清楚。你已经完成了你的要求!使用TreeView对象,而不是创建自己的自定义接口。您可能需要类MenuItem的构造函数来使用空列表初始化Childen属性,或者在尝试外接程序C6时会出现ad异常。您可以使用属性Initializers@Matteo-你句子的第一部分错了,创建列表的实例并不要求您可以实际创建T的实例。此外,如果未定义构造函数,则会推断出一个公共无参数构造函数,因此建议的Add调用@Vegahyo可以正常工作。
using System.Collections.ObjectModel;
public class MenuItem
{
public MenuItem()
{
Children = new Collection<MenuItem>();
}
public int ID { get; set; }
public string Caption { get; set; }
public Collection<MenuItem> Children { get; private set; }
}
using System.Collections.ObjectModel;
public class MenuItem
{
public MenuItem()
{
Children = new Collection<MenuItem>();
}
public int ID { get; set; }
public string Caption { get; set; }
public Collection<MenuItem> Children { get; private set; }
}
var parent = new MenuItem { Caption = "Parent" };
parent.Children.Add(new MenuItem { Caption = "Child1" });