程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中4個常用的集合

C#中4個常用的集合

編輯:C#入門知識

1.ArrayList

ArrayList類似於數組,有人也稱它為數組列表。ArrayList可以動態維護,而數組的容量是固定的。

它的索引會根據程序的擴展而重新進行分配和調整。和數組類似,它所存儲的數據稱為元素,它所保存的元素數就是它的容量。默認初始容量為0,在使用它時,需引入命名空間System.Connections;以下代碼可以定義一個ArrayList:

using System.Collections;

//創建容量為0的ArrayList對象

ArrayList myList = new ArrayList();

//創建容量為5的ArrayList對象

ArrayList myList = new ArrayList();

//獲取對象中實際包含的元素數

int num = myList.Count();

ArrayList通過Add()方法添加元素,其方法返回一個Int類型的值,這個值代表所添加的元素在集合中的索引。

參數:如果向ArrayList中添加的元素是值類型,那麼這些元素就會自動裝箱處理轉換為Object引用類型,然後保存,所以ArrayList中的所有元素都是對象的引用。

刪除ArrayList中的元素有三種方法,分別為:

對象名.RomoveAt(int index);

對象名.Romove(Object value);

對象名.Clear();(這種方法會將集合中的所有元素刪除,俗稱"清空"~~~)


2.HashTable

C# /提供了一種稱為HashTable的數據結構,通常稱為哈希表,有的人稱它為"字典".HashTable的數據是通過鍵(Key)和值(Value)來組織的,同ArrayList一樣,它也屬於System.Collections命名空間中,它所存放的每個元素都是鍵/值對.以下為HashTable的常用方法和屬性:


屬性名稱:Count 說明:獲取包含在HashTable中鍵/值對的數目

屬性名稱:Keys 說明:獲取包含在HashTable中鍵的集合

屬性名稱:Values 說明:獲取包含在HashTable中值的集合


方法名稱:Add(Object key,Object Value)說明:將帶有指定鍵和值的元素添加到HashTable中

方法名稱:Remove(Object Key)說明:從HashTable中移除帶有特定鍵的元素

方法名稱:Clear() 說明:從HashTable中移除所有元素

和ArrayList不同,訪問HashTable元素時可以直接通過鍵名來獲取具體值,同樣,由於值類型是Object.所以當得到一個值時也需要通過類型轉換得到指定類型的對象.


3.泛型集合:List

在介紹泛型集合前,我們有必要來了解了解什麼是泛型:

泛型是C#2.0中的一個新特性。泛型引入了一個新概念:類型參數。通過使用類型參數(T),減少了運行時強制轉換成裝箱操作的風險。通過泛型集合可以最大限度的重用代碼、保護類型的安全及提高性能。

定義一個List泛型集合的方法如下:

List 對象名 = new List();

List添加元素、獲取元素、刪除元素以及遍歷和ArrayList用法都是類似的,但List保障了類型的安全性。在獲取元素時無需進行類型轉換.下面我們把List和ArrayList作以比較

不用點:List對所保存元素做類型約束,而ArrayList可以增加任意類型。添加、讀取值類型元素List無需拆箱裝箱,而ArrayList需要做拆箱、裝箱處理。

相同點:通過索引訪問集合中的元素,添加、刪除元素方法相同


4.泛型集合Dictionary

它具有泛型的全部特性,編譯時檢查類型約束,獲取元素時無需類型轉換,並且它存儲數據的方式和HashTable類似。也是通過Key/Value對元素保存的。定義語法為:

Dictionary對象名 = new Dictionary

中的K表示集合中Key的類型,V表示Value的類型,它的含義和List是相同的.例如:

Dictionary engineers = new Dictionary();

在這個集合中,Key類型是string類型,Value是SE類型。下面我們把Dictionary和HashTable作以比較:

不同點:Dictionary對所保存的元素做類型約束,而HashTable可以增加任何類型。Dictionary添加、讀取值類型元素無需拆箱、裝箱,而HashTable需要做拆箱、裝箱處理

相同點:通過Key獲取Value,添加、刪除、遍歷元素方法相同



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved