我正在尝试在C#中创建一个递归元组。一方是引用类,另一方是递归到同样的数据结构。右侧可以为null,这是递归结束的时候。
目前我正在使用别名,但这似乎不起作用。
using Relation = System.Tuple<Node, Relation>;
直接输入这个是不可能的,因为这是无限的。
System.Tuple<Node, System.Tuple<Node, System.Tuple<Node, ...>>>
1。 这在C#中是否可行?
2。 我可以用别名来做这件事吗?
额外信息
我这样做是因为我需要跟踪每个节点的父节点。节点可以有多个子节点。我无法编辑节点类。
我只需要升级层次结构。即我不需要知道一个节点的孩子。我用这个算法计算很多节点,当我找到一个节点时,我想找到从底部到根的路径。
答案 0 :(得分:1)
您可以为此创建一个类。
class Relation
{
Node Node; // Node is another class
Tuple<Node, Relation> Relation;
}