我正在做一个项目,我需要跟踪:
- 5-6 个字符串名称的根项
- 每个根项都需要有多个不同标识符类型(int、string、float 等)的子项。一个根的所有 child 都是同一类型,但每个根都有不同的子类型
- 用户需要能够从每个根中添加/删除 child
- 我稍后需要单独访问每个 child 并在需要时执行字符串操作和解析
我考虑过使用字典,其中键是字符串,值是对象列表。或者为每个根项设置一个唯一的类,并且每个类都将包含一个子项列表。
大家有什么好的建议吗?我对 OOP 还是很陌生,请多多包涵 :)
谢谢!
最佳答案
public interface IRoot {}
public class RootItem<T> : IRoot
{
public string Name { get; set; }
public List<T> Children {get; set; }
}
然后保留一个Dictionary<string, IRoot>
把他们都抱起来。
Dictionary<string, IRoot> hair = new Dictionary<string, IRoot>();
hair.Add(
new RootItem<int>()
{
Name = "None",
Children = new List<int>() {1, 2, 3, 4}
}
);
hair.Add(
new RootItem<decimal>()
{
Name = "None",
Children = new List<decimal>() {1m, 2m, 3m, 4m}
}
);
关于c# - 使用什么样的数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10856497/