C#泛型学习(一)。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GenercityApplication
{
    public class GenericList {

        private Node head;
        private class Node {
            private Node next;
            private T data;

            public Node(T t) {
                next = null;
                data = t;
            }
            public Node Next {
                get { return next; }
                set { next = value; }
            }

            public T Data {
                get { return data; }
                set { data = value; }
            }
        }

        public GenericList() {
            head = null;
        }

        public void AddHead(T t) {
            Node n = new Node(t);
            n.Next = head;
            head = n;
        }

        public IEnumerator GetEnumerator() {
            Node current = head;
            while (current != null) {
                yield return current.Data;
                current = current.Next;
            }
        }
    }

    class People {
        public int age;
        public string name;
    }

    class TestGenericList {
        static void Main() {
            GenericList list = new GenericList();
            //for (int x = 0; x < 10; x++) {
            //    list.AddHead(x);
            //}

            //foreach (int i in list) {
            //    Console.WriteLine(i + "");
            //}

            list.AddHead(new People());
            Console.Read();
        }
    }
}
官网上的事例。


你可能感兴趣的:(C#学习)