在遊戲開發的時候, 經常需要建立和管理相關對象組, 比如伺服器清單, 商城物品清單等等. 在從伺服器拿到這些資料的時候, 首先需要将他們存放到一個資料集合裡面, 然後對集合中的資料循環周遊進行處理.
之前學過的資料集合有數組, 可以用數組來存儲這些資料. 但是采用數組作為資料集合是由弊端的, 比如數組初始化的時要指定長度, 長度是固定的, 不利于資料的動态擴充和删除. 今天學習一種專門用來資料存儲和檢索的類 -- 集合.
一.集合
在C#中, 集合是專門用于資料存儲和檢索的類. 與數組不同, 集合提供了一種靈活的資料處理方法, 處理的對象組可根據程式更改的需要動态的增長和收縮. 對于資料快速檢索, 集合還可以為對象配置設定一個唯一的" 鍵", 通過此 "鍵" 可以直接将資料從集合中取出來.
集合是類, 是以必須聲明新集合後, 才能往裡面進行資料存儲.
1.1 集合類型集合分為兩種類型: 非泛型集合與泛型集合.
非泛型集合使用非泛型集合需引入:System.Collections 命名空間。
使用泛型集合需引入:System.Collections.Generic 命名空間。

ArrayList 是一個特殊的數組, 可以通過添加和删除元素動态改變數組長度。它是一個類, 是以需要先建立對象, 通過對象來通路成員;
ArrayList
方法:
ArrayList 的方法有很多,有些方法還有多個重載。 不僅是它,其他的集合類如 Stack, Queue, List等等也是如此, 是以最好是記住一些平時常用的,其他的方法都可以現查現用。
在 Vs 中将光标放在你想要查找的類上, 按 F12 就會跳轉到該類的使用文檔, 裡面對該類的所有方法都有非常詳細的描述。掌握這個技巧就可以哪裡不會點哪裡了;
例如 ArrayList
對集合的操作重點就是會調用各種方法, 是以今天的筆記就是整理一下這些集合類的常用方法, 掌握的話還是得多多動手敲代碼。
連結清單二.索引器
索引器允許類或結構的執行個體就像數組一樣可以通過下标索引。 它類似于屬性,不同之處在于它們的取值函數采用參數。 C#中的類成員可以是任意類型,包括數組和集合。當一個類包含了數組和集合成員時,索引器将大大簡化對數組或集合成員的存取操作。
文法[通路修飾符]
練習: 定義一個Person類, 實作索引
// 定義一個Person 類
三.擴充
擴充, 顧名思義是給已經存在的規則再添加上你想要加的規則, 例如 :對一個 int類型的數組, 你想要讓它自己實作排序的方法, 就可以給它加個擴充.
// 随便定義一個靜态類, 在這個類裡面定義擴充
=======================================================
思維導圖