C# 字典


1. 使用字典原因

    通常情況下,我們可以通過int類型的索引號來從數組或者list集合中查詢所需的數據。但是如果情況稍微復雜一點:索引號是非int型數據比如string或其他類型該如何操作呢。這個時候我們就可以使用字典了。

2. 什么是字典

    顧名思義,字典是一種讓我們可以通過索引號查詢到特定數據的數據結構類型。

    關鍵字 DIctionary

3. 用法及注意事項

   (1)  C#的Dictionary<Tkey,TValue>類在內部維護兩個數組來實現該功能。一個keys數組容納要從其映射的鍵,另一個values容納映射到的值。在Dictionary<Tkey,TValue>集合中插入鍵/值對時,將自動記錄哪

    個鍵和哪個值關聯,從而允許開發人員快速和簡單地獲取具有指定鍵的值。

   (2)C#的Dictionary<Tkey,TValue>集合不能包含重復的鍵。調用Add方法添加鍵數組中已有的鍵將拋出異常。但是,如果使用方括號記法(類似給數組元素賦值)來添加鍵/值對,就不用擔心異常——如果鍵已

    經存在,其值就會被新值覆蓋。可用ContainKey方法測試Dictionary<Tkey,TValue>集合是否已包含特定的鍵。
   (3)Dictionary<Tkey,TValue>集合內部采用一種稀疏數據結構,在有大量內存可用時才最高效。隨着更多元素的插入,Dictionary<Tkey,TValue>集合可能快速消耗大量內存。
   (4)用foreach遍歷Dictionary<Tkey,TValue>集合返回一個KeyValuePair<Tkey,TValue>。該結構包含數據項的鍵和值拷貝,可通過Key和Value屬性防蚊每個元素。元素是只讀的,不能用它們修改Dictionary<Tkey,TValue>集合中的數據。

4. 實例

      Dictionary<string,string> students=new Dictionary<string,string>();

      插入:

           students.Add ("S001","張三");

           students.Add ("S002","李四");

           students["S003"]="王五";

     刪除:

           students.Remove ("S000"); //直接刪除建即可

     修改:

         直接復制即可    students["S003"]="王五";

   查詢:

        foreach(KeyValuePair<string,string> stu in students)  //查詢所Keys 和Value
              Debug.Log ("Key:"+stu.Key+"  Name:"+stu.Value);

        foreach (string value in students.Values)
              Debug.Log (value);

       foreach (string key in students.Keys)
             Debug.Log (key);


免責聲明!

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



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