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

C# 6 種常用集合類詳解 (一)

     編輯:關於C語言

陣列的不足與集合的優勢

陣列限制集合優勢
固定大小,無法伸縮可變長度,動態增減
必須宣告元素型別元素型別為 object,支援任意型別
無法宣告唯讀提供 ReadOnly 包裝器
整數索引存取支援自訂索引型別,Stack/Queue 不支援索引

雖有 Array.Resize,但實質是建立新陣列複製,效能較差。

1. ArrayList - 動態陣列

最基礎的集合,功能豐富:

var al = new ArrayList();
al.Add(100); // 單一新增

foreach (int n in new[] { 9, 3, 7, 2, 4, 8 })
    al.Add(n); // 批次新增

int[] arr = { 11, 12 };
al.AddRange(arr); // 陣列批次新增

al.Remove(3);      // 移除值為 3
al.RemoveAt(3);    // 移除索引 3

var al2 = new ArrayList(al.GetRange(1, 3)); // 子範圍建立新集合

// 遍歷方式一:foreach(無需轉型)
foreach (int i in al) Console.WriteLine(i);

// 遍歷方式二:for 迴圈(需轉型)
for (int i = 0; i < al2.Count; i++)
{
    int n = (int)al2[i];
    Console.WriteLine(n);
}

ArrayList 核心方法速查

  • Add/AddRange:新增元素
  • Remove/RemoveAt/RemoveRange:移除
  • Insert/InsertRange:插入
  • Contains/IndexOf/LastIndexOf:查詢
  • Sort/Reverse:排序反轉
  • ToArray:轉為陣列
  • Capacity/Count:容量與實際數量

下一篇預告

將介紹 Stack、Queue、Hashtable、SortedList、NameValueCollection 等進階集合。

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