我正在寻找一种数据结构来添加、删除、获取和查找类别。
例如:
图书
- 戏剧
- 科幻小说
- 其他
运动的
- 骑自行车
- 高尔夫球
- 团队竞技
- 足球
- 足球
等等
例如,我考虑使用C5 集合库中的树,但它看起来只有红黑树。有什么建议么?
您可以只创建一个 Category 类来公开其他 Category 实例的列表。
public class Category
{
public Category()
{
this.ChildCategories = new List<Category>();
}
public string Name { get; set; }
public IList<Category> ChildCategories { get; private set; }
}
树会是一个很好的方法,但我感觉你在想会有一个万能的数据结构,你可以使用它,而这并不是我想象的那样。我同意马克的解决方案,但建议使用字典而不是列表。这样您就可以快速查找类别并获取其子类别。