數(shù)組的大小是固定的,如果元素個(gè)數(shù)是動(dòng)態(tài)的,就應(yīng)使用集合類,集合可以根據(jù)集合類實(shí)現(xiàn)的接口組合為列表、集合和字典,集合實(shí)現(xiàn)的常用接口有如下

(1)IEnumerable<T>:如果將foreach語(yǔ)句用于集合,就需要IEnumerable接口,這個(gè)接口定義了方法GetEnumerator(),它返回了一個(gè)實(shí)現(xiàn)了IEnumerator接口的枚舉

(2)ICollection<T>:ICollection<T>接口由泛型集合類實(shí)現(xiàn),使用這個(gè)接口可以獲得集合中的元素個(gè)數(shù)(Count屬性),把集合復(fù)制到數(shù)組中的方法(CopyTo()),還可以從集合中增加刪除元素(Add(),Remove(),Clear())

(3)IList<T>:IList<T>接口用于可通過位置訪問其中的元素列表,這個(gè)接口定義了一個(gè)索引器,可以在集合中的指定位置插入或則刪除某些項(xiàng)(Insert()和RemoveAt()方法)。IList<T>派生至ICollection<T>接口

(4)ISet<T>:ISet<T>接口由集實(shí)現(xiàn),集允許合并不同的集,獲得兩個(gè)集的交集,檢查兩個(gè)集是否重疊。ISet<T>接口派生自ICollection<T>接口

(5)IDictionary<TKey,TValue>:IDictionary<TKey,TValue>接口由包含鍵和值泛型集合類實(shí)現(xiàn),使用這個(gè)接口可以訪問所有的鍵和值,使用鍵類型的索引器可以訪問某些項(xiàng),還可以添加和刪除某些項(xiàng)

隊(duì)列是其元素以先進(jìn)先出(FIFO)的方式來處理的集合。先放入隊(duì)列中的元素會(huì)先讀取,其實(shí)就是我們?cè)诰幊讨杏龅教幚碛唵蔚奶幚砹鞒蹋葋淼南忍幚?,但如果考慮到不同訂單的優(yōu)先級(jí),我們會(huì)優(yōu)先處理優(yōu)先級(jí)高的訂單,先定義一個(gè)簡(jiǎn)單訂單實(shí)體。

移動(dòng)開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

 public class ProductOrder
    {        public string Name { get;private set; }        /// <summary>
        /// 用于標(biāo)識(shí)訂單的優(yōu)先級(jí)        /// </summary>
        public string Level { get; private set; }        public string Content { get; private set; }        public ProductOrder(string name, string level, string content)
        {            this.Name = name;