【发布时间】:2012-06-01 19:49:20
【问题描述】:
我正在做一个需要跟踪的项目:
- 5-6 根项目只是一个字符串名称
- 每个根项都需要有多个不同标识符类型(int、string、float 等)的子项。一个根的所有子节点都是同一类型,但每个根节点都有不同的子节点类型
- 用户需要能够从每个根目录添加/删除子节点
- 稍后我需要单独访问每个孩子,并在需要时执行字符串操作和解析
我考虑过使用字典,其中键是字符串,值是对象列表。或者为每个根项设置一个唯一的类,并且每个类都包含一个子列表。
有人有什么好的建议吗?我对 OOP 还是很陌生,请多多包涵:)
谢谢!
【问题讨论】:
-
乍一看,Dictionary
> 看起来就像你要找的东西。 -
你想强制给定根的所有子节点都是同一类型吗?我正在努力寻找一种方法来做到这一点。如果您愿意在没有那种级别的类型强制的情况下生活,
Dictionary<string, List<object>>会起作用。 -
给定根的子节点不必是相同的类型,事实上,如果它们不是相同的类型可能会更好。所以使用元组,我将能够动态添加/删除我想要的任何类型的项目?
-
我的第一眼感觉不对 - jonnyGold 的解决方案既快速又优雅。
标签: c# oop data-structures