关于迭代器和泛型的有关问题,小弟我也不知道咋回事求大神帮忙看下

关于迭代器和泛型的问题,我也不知道怎么回事求大神帮忙看下。
关于迭代器和泛型的有关问题,小弟我也不知道咋回事求大神帮忙看下

    public class Node<T>
    {

        private T data;

        public T Data
        {
            get { return data; }
            set { data = value; }
        }
        private Node<T> lChild;//左孩子

        public  Node<T> LChild
        {
            get { return lChild; }
            set { lChild = value; }
        }
        private Node<T> rChild;//右孩子

        public Node<T> RChild
        {
            get { return rChild; }
            set { rChild = value; }
        }
        public Node(T val, Node<T> lp, Node<T> rp)
        {
            data = val;
            lChild = lp;
            rChild = rp;
        }
        public Node(Node<T> lp, Node<T> rp)
        {
            lChild = lp;
            rChild = rp;
            data = default(T);
        }
        public Node(T val)
        {
            data = val;
            lChild = null;
            rChild = null;
        }
        public Node()
        {
            data = default(T);
            lChild = null;
            rChild = null;
        }
    }

    public class LinkBiTree<T> : IEnumerable<T>
    {
        private Node<T> head;//头引用

        public Node<T> Head
        {
            get { return head; }
            set { head = value; }
        }

        public IEnumerator<T> preOrderTraverese(Node<T> node)
        {
            if (node == null)
                yield break;
            yield return node.Data;
            yield return preOrderTraverese(node.LChild);
            yield return preOrderTraverese(node.RChild);
        }
        public IEnumerator<T> GetEnumerator()
        {
            yield return preOrderTraverese(head);
        }
        public LinkBiTree()
        {
            head = null;
        }