我想建立2个树状结构。第一棵树将包含节点,每个节点都有我的Range
对象的列表:
class Range {
public DateTime Start { get; set; }
public DateTime End { get; set; }
}
Tree结构将如下所示:
然后,我要从第一棵树构建第二棵树。它将具有类似的结构,但是,当对第二棵树中的Range对象进行更改时,我希望第一棵树中的Range对象也进行更改。实际上,我需要在第一棵树中保留对Range对象的引用或指针:
树#2:
C#是我的首选语言,我知道您可以使用
ref
关键字,但是我想知道C#是否真的是正确的语言,还是我需要一些类似C++的指针? 最佳答案
是的,可以。
您将Range声明为class
(而不是struct
),因此,您将只处理引用(而不是实际值)。
例如,您的List<Range>
是对Range
对象的引用的集合。
具有引用语义的Range
在C#中意味着几件事情,例如:
Range
变量可以保存null
您可能需要reference vs. value semantics上的快速入门。
关于c# - 两棵树:一棵树的节点包含一个对象列表;第二棵树的对象包含对第一棵树的对象的引用。可以用C#完成吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57342149/