日期:2014-05-17  浏览次数:20795 次

一个泛型的例题代码,看了有几点疑问,求解答
这个就是定义一个泛型类LinkedList,做一个针对(整型数据和Student类型数据)的链表
Student类型已在开头定义好 ,Node就是针对链表中的节点进行一些操作,LinkedList就是调用Node中的一些方法再加上自己的方法实现链表的功能,一下是代码。
我的问题代码在后面提出。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace GenericSamp
{
    public class Student
    {
        private string StudentName;
        private int StudentAge;
        public Student(string name, int age)
        {
            this.StudentName = name;
            this.StudentAge = age;
        }
        public override string ToString()
        {
            return this.StudentName + ":年龄" + this.StudentAge + "岁";
        }
    }
    public class Node<T>
    {
        T data;
        Node<T> next;
        public Node(T data)
    {
        this.data=data;
        this.next=null;
    }
    public T Data{
    get {return this.data;}
    set{data=value;}
}
    public Node<T> Next{
    get{return this.next;}
    set{this.next=value;}
 
}
    public void Append(Node<T> newNode){
    if(this.next==null){this.next=newNode;}
    else{next.Append(newNode);}
}
    public override string ToString(){
    string output=data.ToString();
    if(next!=null){output+=","+next.ToString();}
    return output;
}
    }
    public class LinkedList<T>
    {
        Node<T> headNode = null;
        public void Add(T data)
        {
            if (headNode == null)
            {
                headNode = new Node<T>(data);
            }
            else
            {
          &nb