亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#泛型用法實例分析

2020-01-24 01:40:47
字體:
來源:轉載
供稿:網友

本文實例分析了C#泛型用法。分享給大家供大家參考。具體分析如下:

這里演示如何創建具有單個類型參數的自定義泛型列表類,以及如何實現 IEnumerable<T> 以便對列表的內容啟用 foreach 迭代。此示例還演示客戶端代碼如何通過指定類型參數來創建該類的實例,以及該類型參數的約束如何實現對類型參數執行其他操作。

using System;using System.Collections;using System.Collections.Generic;using System.Text;namespace Generics_CSharp{  // 尖括號中的類型參數 T。  public class MyList<T> : IEnumerable<T>  {    protected Node head;    protected Node current = null;    // 嵌套類型也是 T 上的泛型    protected class Node    {      public Node next;      // T 作為私有成員數據類型。      private T data;      // 在非泛型構造函數中使用的 T。      public Node(T t)      {        next = null;        data = t;      }      public Node Next      {        get { return next; }        set { next = value; }      }      // T 作為屬性的返回類型。      public T Data      {        get { return data; }        set { data = value; }      }    }    public MyList()    {      head = null;    }    // T 作為方法參數類型。    public void AddHead(T t)    {      Node n = new Node(t);      n.Next = head;      head = n;    }    // 實現 GetEnumerator 以返回 IEnumerator<T>,從而啟用列表的    // foreach 迭代。請注意,在 C# 2.0 中,     // 不需要實現 Current 和 MoveNext。    // 編譯器將創建實現 IEnumerator<T> 的類。    public IEnumerator<T> GetEnumerator()    {      Node current = head;      while (current != null)      {        yield return current.Data;        current = current.Next;      }    }    // 必須實現此方法,因為    // IEnumerable<T> 繼承 IEnumerable    IEnumerator IEnumerable.GetEnumerator()    {      return GetEnumerator();    }  }  public class SortedList<T> : MyList<T> where T : IComparable<T>  {    // 一個未優化的簡單排序算法,    // 該算法從低到高對列表元素排序:    public void BubbleSort()    {      if (null == head || null == head.Next)        return;      bool swapped;      do      {        Node previous = null;        Node current = head;        swapped = false;        while (current.next != null)        {          // 由于需要調用此方法,因此,SortedList          // 類在 IEnumerable<T> 上是受約束的          if (current.Data.CompareTo(current.next.Data) > 0)          {            Node tmp = current.next;            current.next = current.next.next;            tmp.next = current;            if (previous == null)            {              head = tmp;            }            else            {              previous.next = tmp;            }            previous = tmp;            swapped = true;          }          else          {            previous = current;            current = current.next;          }        }// end while      } while (swapped);    }  }  // 一個將自身作為類型參數來實現 IComparable<T> 的簡單類,  // 是對象中的  // 常用設計模式,這些對象  // 存儲在泛型列表中。  public class Person : IComparable<Person>  {    string name;    int age;    public Person(string s, int i)    {      name = s;      age = i;    }    // 這會使列表元素    // 按 age 值排序。    public int CompareTo(Person p)    {      return age - p.age;    }    public override string ToString()    {      return name + ":" + age;    }    // 必須實現 Equals。    public bool Equals(Person p)    {      return (this.age == p.age);    }  }  class Generics  {    static void Main(string[] args)    {      // 聲明并實例化一個新的范型 SortedList 類。      // Person 是類型參數。      SortedList<Person> list = new SortedList<Person>();      // 創建 name 和 age 值以初始化 Person 對象。      string[] names = new string[] { "Franscoise", "Bill", "Li", "Sandra", "Gunnar", "Alok", "Hiroyuki", "Maria", "Alessandro", "Raul" };      int[] ages = new int[] { 45, 19, 28, 23, 18, 9, 108, 72, 30, 35 };      // 填充列表。      for (int x = 0; x < names.Length; x++)      {        list.AddHead(new Person(names[x], ages[x]));      }      Console.WriteLine("Unsorted List:");      // 打印出未排序的列表。      foreach (Person p in list)      {        Console.WriteLine(p.ToString());      }      // 對列表進行排序。      list.BubbleSort();      Console.WriteLine(String.Format("{0}Sorted List:", Environment.NewLine));      // 打印出排序的列表。      foreach (Person p in list)      {        Console.WriteLine(p.ToString());      }      Console.WriteLine("Done");    }  }}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品400部情侣激情| 亚洲精品有码在线| 久久精品国产v日韩v亚洲| 亚洲最新中文字幕| 国产成人jvid在线播放| 91香蕉嫩草影院入口| 亚洲free性xxxx护士白浆| 热re91久久精品国99热蜜臀| 亚洲成av人片在线观看香蕉| 久久成人精品电影| 国模吧一区二区| 国产亚洲激情视频在线| 国产黑人绿帽在线第一区| 欧美激情精品久久久久久久变态| 亚洲韩国日本中文字幕| 国内精品久久久久久| 国产亚洲精品久久久久久牛牛| 亚洲色图25p| 亚洲欧美999| 97av在线播放| 亚洲色图偷窥自拍| 久久久国产91| 亚洲小视频在线| 亚洲国产欧美自拍| 国产精品久久久久久久久| 91在线免费网站| 国产91精品久久久久久久| 久久综合久中文字幕青草| 国产欧美中文字幕| 亚洲影院色无极综合| 久久久亚洲国产天美传媒修理工| 亚洲精品视频在线观看视频| 国产精品久久久久免费a∨大胸| 欧美色视频日本高清在线观看| 国产精品91久久| 国产精品久久久亚洲| 91欧美视频网站| 国产91久久婷婷一区二区| 精品一区精品二区| 国产精品pans私拍| 青青青国产精品一区二区| 日韩电影免费在线观看| 国产精品久久久久久亚洲调教| 美日韩精品免费视频| 国产精自产拍久久久久久蜜| 国产精品18久久久久久麻辣| 北条麻妃99精品青青久久| 91国产中文字幕| 久久久久久久久久久人体| 高清欧美性猛交| 久久久天堂国产精品女人| 福利一区福利二区微拍刺激| 77777亚洲午夜久久多人| 91超碰caoporn97人人| 乱亲女秽乱长久久久| 日本电影亚洲天堂| 尤物99国产成人精品视频| 97精品久久久中文字幕免费| 一区二区av在线| 成人性生交大片免费看视频直播| 久久99视频精品| 秋霞av国产精品一区| 青草热久免费精品视频| 国产免费一区视频观看免费| 久久亚洲国产成人| 国精产品一区一区三区有限在线| 青草青草久热精品视频在线网站| 欧美午夜精品久久久久久浪潮| 久久精品国产久精国产一老狼| 欧美成人免费全部观看天天性色| 日韩av在线网| 日韩av免费看| 国产精品久久久久久久久久久久久久| 亚洲电影av在线| 日韩精品久久久久久久玫瑰园| 亚洲午夜精品久久久久久性色| 中文字幕视频在线免费欧美日韩综合在线看| 国产mv免费观看入口亚洲| 国产成人亚洲综合91精品| 精品视频在线播放色网色视频| 伊人一区二区三区久久精品| 亚洲国产精品视频在线观看| 国产精品自产拍高潮在线观看| 亚洲精品中文字幕av| 欧美小视频在线观看| 欧美在线视频网| 91超碰中文字幕久久精品| 国产精品视频26uuu| 国产成人一区三区| 日韩中文av在线| 亚洲日韩欧美视频一区| 日韩欧美国产成人| 国产欧美日韩最新| 国产精品一区二区三区免费视频| 欧美电影免费观看高清完整| 亚洲精品www久久久| xxxxx成人.com| 国产精品丝袜白浆摸在线| 精品国产视频在线| 精品成人乱色一区二区| 国产欧美精品xxxx另类| 美女国内精品自产拍在线播放| 亚洲美女福利视频网站| 国产一区视频在线播放| 亚洲伊人久久大香线蕉av| 日韩一区二区三区在线播放| 国产v综合v亚洲欧美久久| 精品国偷自产在线视频99| 欧美精品少妇videofree| 国产亚洲精品一区二555| 国产精品激情自拍| 亚洲香蕉伊综合在人在线视看| 久久久免费精品视频| 亚洲国产成人精品久久久国产成人一区| 久久国产精品影片| 日韩a**站在线观看| 国产一区二区三区18| 日本sm极度另类视频| 亚洲美女动态图120秒| www.久久色.com| 欧美性生交大片免网| 日韩亚洲精品电影| 久久国产精品久久久久| 欧美激情一区二区三级高清视频| 夜夜狂射影院欧美极品| 久久久久久久久久久成人| 欧美精品videosex极品1| 国产精品久久久91| 欧美日韩国产中文字幕| 国产日产欧美精品| 国产日韩欧美中文| 亚洲综合一区二区不卡| 亚洲视频视频在线| 国产一区二区三区直播精品电影| 欧美一区深夜视频| 啪一啪鲁一鲁2019在线视频| 欧美精品少妇videofree| 久久精品国产一区二区电影| 亚洲free嫩bbb| 欧洲日本亚洲国产区| 亚洲综合社区网| 中文字幕日韩在线视频| 久久久国产精彩视频美女艺术照福利| 亚洲精品suv精品一区二区| 久久精品91久久久久久再现| 97视频在线播放| 91国内在线视频| 中文字幕日韩视频| 久久99国产精品久久久久久久久| 欧美性xxxxxxx| 精品视频偷偷看在线观看| 久久人人爽人人爽人人片亚洲| 久久精品99无色码中文字幕| 欧美一性一乱一交一视频| 国产精品日韩欧美大师| 黄色精品一区二区| 日韩大片在线观看视频| 久久久免费观看视频| 久久中文字幕在线| 国产精品一二区| 欧美亚洲日本黄色| 尤物九九久久国产精品的特点| 国产精品久久久久高潮| 久久久久久综合网天天|