【发布时间】:2019-12-12 00:09:28
【问题描述】:
我想构建 2 个树结构。第一个树将包含节点,每个节点都有我的Range 对象列表:
class Range {
public DateTime Start { get; set; }
public DateTime End { get; set; }
}
树结构将如下所示:
然后我想要第二棵树构建第一棵树。它将具有类似的结构,但是,当对第二棵树中的 Range 对象进行更改时,我希望第一棵树中的 Range 对象也发生更改。实际上,我需要在第一棵树中保存对 Range 对象的引用或指针:
树 #2:
C# 是我的首选语言,我知道您可以使用 ref 关键字,但我想知道 C# 是否真的适合此语言,还是我需要像 C++ 这样的指针?
【问题讨论】:
-
在 C++ 中,使用
std::shared_ptr<Range>。您的用例就是为什么它们被称为“共享指针”。 -
您需要一个节点中的树与另一节点中的节点之间的映射。您可以使用 KeyValuePair
。我喜欢使用便于查找的字典。字典