0

我正在尝试在 C# 中创建一个递归元组。一方面是一个类的引用,另一方面是递归到同样的数据结构。右边可以为空,这是递归结束的时候。

目前我正在使用别名,但这似乎不起作用。

using Relation = System.Tuple<Node, Relation>;

直接输入这是不可能的,因为这是无限的。

System.Tuple<Node, System.Tuple<Node, System.Tuple<Node, ...>>>

1. 这在 C# 中可能吗?

2. 我可以用别名做到这一点吗?

额外信息

我这样做是因为我需要跟踪每个节点的父节点。一个节点可以有多个孩子。我无法编辑节点类。

我只需要向上层级。即我不需要知道节点的孩子。我将它用于计算大量节点的算法,当我找到一个时,我想找到从底部到根的路径。

4

1 回答 1

1

您可以为此创建一个类。

class Relation
{
   Node Node;  // Node is another class
   Tuple<Node, Relation> Relation;
}
于 2013-11-05T17:01:43.093 回答