嗨,我仍在学习 C#,并尝试创建一个二叉树遍历算法以用于学习目的。我在 Java 中做了同样的事情,并且成功地使其工作。我需要知道是否可以给一个方法 a Node 的参数。这是我到目前为止所拥有的:
public class Node<T>
{
public Node<T> Left { get; set; }
public Node<T> Right { get; set; }
public T Data { get; set; }
}
public static void InOrder(Node<T> n)
{
}
问题出在 InOrder 参数上,它告诉我无法传递 Node 参数,因为它无法解析符号 T。在 Java 中,我使用此语法使其可以在 Node n 中工作,但 C# 中的语法似乎有所不同.
如果是这种情况,那么我如何使用当前的类 Node 作为类型?
最佳答案
将静态方法放在类中Node<T>
它会起作用的。在类之外,它不知道 T 的含义。
关于c# - 遍历二叉树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15794214/