C# 常見集合/清單類型

陣列(Arrays)

宣告後就固定長度,不可以改變長度。
    
        string[] array = new string[5]; // 宣告一個長度為 5 的字串陣列 
        array[0] = "1"; // 在陣列的第 0 個位置放入 "1"
        array[4] = "5"; // 在陣列的第 4 個位置放入 "5"
    

List

長度大小不固定,可以動態增加和減少元素
    
        List<string> list = new List<string>();
        list.Add("1"); // 在 list 的最後面新增 "1"
        list.Remove("1"); // 移除 "1"
        
        int index = list.IndexOf("1"); // 取得 "1" 在 list 中的位置 
        list.RemoveAt(index); // 移除指定位置的元素
        
        int count = list.Count; // 取得總數量
    

HashSet

不具有順序,內容不可以重複
    
        HashSet<string> hashSet = new HashSet<string>();
        hashSet.Add("1");    // 新增 "1"
        hashSet.Add("2");    // 新增 "2"
        
        hashSet.Add("1");    // 已經有 "1" 了,不會被重複加入
        
        int count = list.Count; // 取得總數量 // 2
        
    

Queue

先新增的資料會先被移除
    
        Queue<string> queue = new Queue<string>();
        queue.Enqueue("1");  // 將元素加入佇列
        queue.Enqueue("2");
        
        string str = queue.Dequeue(); // 取出元素(會從佇列中移除) // 1
        
        string str = queue.Peek(); // 窺視元素(不會從佇列中移除)
    

Stack

後新增的資料會先被移除
    
        Stack<string> stack = new Stack<string>();
        stack.Push("1"); // 將元素加入堆疊
        stack.Push("2");
        
        string str1 = stack.Pop(); // 取出元素(會從佇列中移除) // 2
        
        string str = queue.Peek(); // 窺視元素(不會從佇列中移除)
    



參考資料:
Microsoft.Learn - Arrays
Microsoft.Learn - List<T> Class
Microsoft.Learn - HashSet<T> Class
Microsoft.Learn - Queue Class
Microsoft.Learn - Stack Class

留言

張貼留言

如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com