首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 清單集合:ArrayList 與 List<T> 完整操作指南

     編輯:關於C語言

動態陣列:List<T> vs ArrayList

  • ArrayList:非泛型,元素為 `object`,需裝箱/拆箱,不建議新專案使用
  • List<T>:泛型,型別安全、無裝箱、效能優,首選

兩者實作介面:`IList`、`ICollection`、`IEnumerable` 等。

核心操作範例


// ArrayList
var list = new ArrayList();
list.Add("張三");
list.Insert(1, "李四");
string name = list[0].ToString();
list.RemoveAt(1);
int idx = list.IndexOf("張三");
list.Sort();

// List (泛型)
var nums = new List { 1, 7, 3, 9, 6, 10 };
nums.Sort();
foreach (var n in nums) Console.Write(n + " "); // 1 3 6 7 9 10
nums.Remove(10); // 移除值為 10 的元素

常用方法速查

方法說明
Add/AddRange尾端加入單一/多個元素
Insert/InsertRange指定索引插入
Remove/RemoveAt/RemoveAll移除元素
Find/FindAll/FindIndex條件搜尋 (泛型專用)
Sort排序 (多種多載)
BinarySearch二分搜尋 (需已排序)
ConvertAll型別轉換投影
AsReadOnly取得唯讀包裝

效能提示

  • 預知大概數量時,用建構函式指定 `capacity` 避免多次擴容
  • 頻繁頭端插入/刪除請改用 `LinkedList<T>`
  • 大量資料唯讀傳遞用 `IReadOnlyList<T>` 或 `AsReadOnly()`

延伸閱讀

清單演法法詳細解析:列表算法 (原文連結)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved