C#泛型集合List 用法總結


List<T>在C#應用程序中是一種快捷、易於使用的泛型集合類型,使用泛型編程為編寫面向對象程序增加了極大的效率和靈活性,不會強行對值類型進行裝箱和拆箱,或對引用類型進行向下強制類型轉換。

補充說明:

在決定使用IList<T> 還是使用ArrayList類(兩者具有類似的功能)時,記住IList<T> 類在大多數情況下執行得更好並且是類型安全的。

如果對IList<T> 類的類型 T 使用引用類型,則兩個類的行為是完全相同的。但是,如果對類型 T 使用值類型,則需要考慮實現和裝箱問題。

 “添加到 ArrayList 中的任何引用或值類型都將隱式地向上強制轉換為 Object。如果項是值類型,則必須在將其添加到列表中時進行裝箱操作,在檢索時進行取消裝箱操作。強制轉換以及裝箱和取消裝箱操作都會降低性能;在必須對大型集合進行循環訪問的情況下,裝箱和取消裝箱的影響非常明顯。”

一、List<T>的基本用法:
1.  創建List<T>類具體實例:
1.1、 創建一個普通的泛型集合類:

1
List<T> mList = new List<T>();
T為列表中元素類型,現在以string類型作為例子

1
List<string> mList = new List<string>();
1.2、 以一個集合作為參數創建新的泛型集合List<T>

1
List<T> testList =new List<T> (IEnumerable<T> collection);
下面是一個具體的例子:

1
2
string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" };
List<string> testList = new List<string>(temArr);
2. 增加元素到List<T>:
2.1、 添加一個元素:

1
List. Add(T item) 
示例:

1
testList.Add("John");
2.2、 添加一組元素集合:

1
List. AddRange(IEnumerable<T> collection)
示例:

1
2
string[] temArr = { "Ha","Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku",  "Locu" };
testList.AddRange(temArr);
2.3、在指定位置添加一個元素:

1
Insert(int index, T item); 
其中,index指定了要添加元素的位置,示例:

1
testList.Insert(1, "Hei");
3. 泛型集合List<T>元素遍歷:
使用foreach可以輕松遍歷List<T>中的所有元素,示例:

1
2
3
foreach (string s in mList){
    Console.WriteLine(s);
 }
4. 刪除List<T>中的元素:
4.1、 刪除單個元素:

List. Remove(T item)     
item指定了要刪除元素的對象,示例:

mList.Remove("Hunter");
4.2、 刪除指定位置的元素:

List.RemoveAt(int index);
其中,index指定了要刪除元素的索引值,示例:

mList.RemoveAt(0);
4.3、 刪除多個元素:

List.RemoveRange(int index, int count);
index指定了刪除元素的起始位置,count指定了從起始位置開始需要刪除元素的個數,示例:

mList.RemoveRange(3, 2);
5. 判斷某個元素是否在該List<T>中:
List.Contains(T item)
該方法用於確定某元素是否在 List<(Of <(T>)>) 中,如果在 List<(Of <(T>)>) 中找到 item,則為 true,否則為 false,示例:

if (mList.Contains("Hunter")){
    Console.WriteLine("There is Hunter in the list");
}else{
    mList.Add("Hunter");
    Console.WriteLine("Add Hunter successfully.");
}
6. 給List<T>里面元素排序:
List.Sort ()
該方法將集合類List<T>中的元素按照 默認的方式元素第一個字母升序排序。

mList.Sort();
7. 給List<T>里面元素順序反轉:
List.Reverse ()
該方法可以與List. Sort ()配合使用,以達到想要的效果。

mList.Sort();
8. 清空List<T>中的所有元素:
List.Clear ()
該方法將清空List<T>中的所有元素,示例:

mList.Clear();
9.  獲得List<T>中元素數目:
List. Count ()
該方法返回List<T>中元素個數的int類型值,示例:

int count = mList.Count();
Console.WriteLine("The num of elements in the list: " +count);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM