将二叉树返回到变量

时间:2019-06-11 20:12:38

标签: c# return binary-tree

我正在使用二进制树进行练习,其中使用了两个函数,它们看起来如下:

class Program
{
    public Node root;
    static void Main(string[] args)
    {
        //build and return tree
        var b = binaryTree();

        //get sum of tree
        var x = binaryTreeSum(b);
        //Console.WriteLine("Sum of the binary tree is " + x);

    }

对于非静态字段,方法或属性,我在var b = binaryTreeSum(b)对象引用上遇到错误。我正在尝试通过以下功能创建树:

    public Program binaryTree()
    {
        //build tree
        Program tree = new Program();

        tree.root = new Node(10);
        tree.root.left = new Node(5);
        tree.root.right = new Node(11);
        tree.root.left.left = new Node(2);
        tree.root.left.right = new Node(1);
        tree.root.right.left = new Node(5);
        tree.root.right.right = new Node(123);

       return tree;
    }

是否可以将我的tree.roottree返回到var b?我知道我可以使用tree.root来获取下一个要执行的功能的总和。一开始我可能会犯错,但是我必须使用这两个函数并返回到var

1 个答案:

答案 0 :(得分:0)

我认为您只想return tree; 根据方法签名,您想返回一个BinaryTree对象,但是您当前正在尝试返回一个Node

由于我不确定这些对象的来源(您创建了这些对象?),所以我假设一个对象不是从另一个对象派生的。

您的binaryTree()函数的返回值将自动分配给var a