源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c# 自定义泛型链表类的详解

  • 时间:2020-10-22 14:19 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c# 自定义泛型链表类的详解
[b](1)自定义泛型链表类。 [/b]
[u]复制代码[/u] 代码如下:
public class GenericList<T>     {         private class Node         {             //当前节点值             private T data;             public T Data             {                 get { return data; }                 set { data = value; }             }             //节点的下一个节点             private Node next;             public Node Next             {                 get { return next; }                 set { next = value; }             }             //节点的上一个节点             private Node last;             public Node Last             {                 get { return last; }                 set { last = value; }             }             public Node(T t)             {                 data = t;                 next = null;             }         }         private Node firstNode;         private Node lastNode;         public void AddNode(T t)         {             Node node = new Node(t);             node.Last = lastNode;             if (lastNode != null)                 lastNode.Next = node;             lastNode = node;             if (firstNode == null)             {                 firstNode = node;             }         }         //要在自定义泛型集合上迭代         //必须实现该接口         public IEnumerator<T> GetEnumerator()         {             Node current = firstNode;             while (current != null)             {                 //yield return表达式以枚举对象返回                 yield return current.Data;                 current = current.Next;             }         }     }
[b] (2)自定义泛型链表类调用。 [/b]
[u]复制代码[/u] 代码如下:
class GenericListTestTwo     {         static void Main()         {             // 类型参数为int             GenericList<int> list = new GenericList<int>();             for (int a = 0; a < 5; a++)             {                 list.AddNode(a);             }             foreach (int i in list)             {                 System.Console.WriteLine(i);             }             //类型参数为string             GenericList<string> strList = new GenericList<string>();             strList.AddNode("First Node");             strList.AddNode("Second Node");             foreach(string s in strList)             {                 System.Console.WriteLine(s);             }             Console.Read();         }     }
[b]输出如下: [/b] [img]http://files.jb51.net/file_images/article/201305/2013053111411217.jpg[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部