C#中關於Dictionary的用法詳解

來源:互聯網
上載者:User

1.要使用Dictionary集合,需要匯入C#泛型命名空間


 System.Collections.Generic //程式集:mscorlib

2.Dictionary的描述

從一組鍵(Key)到一組值(Value)的映射,每一個添加項都是由一個值及其相關連的鍵組成

任何鍵都必須是唯一的

鍵不可為空引用null(VB中的Nothing),若值為參考型別,則可以為空白值

Key和Value可以是任何類型(string,int,custom class 等)

3.Dictionary常用用法:以 key 的類型為 int , value的類型為string 為例

建立及初始化


 Dictionary<int,string> myDictionary=new Dictionary<int,string>();

添加元素


myDictionary.Add(1,"C#");myDictionary.Add(2,"C++");myDictionary.Add(3,"ASP.NET");myDictionary.Add(4,"MVC");

通過Key尋找元素


if(myDictionary.ContainsKey(1)){  Console.WriteLine("Key:{0},Value:{1}","1", myDictionary[1]); }

通過KeyValuePair遍曆元素


foreach(KeyValuePair<int,string> kvp in myDictionary){    Console.WriteLine("Key = {0}, Value = {1}",kvp.Key, kvp.Value);}

僅遍曆鍵 Keys 屬性


Dictionary<int,string>.KeyCollection keyCol = myDictionary.Keys;foreach(intkeyinkeyCol){  Console.WriteLine("Key = {0}", key);}

僅遍曆值 Valus屬性


Dictionary<int,string>.ValueCollection valueCol = myDictionary.Values;foreach(stringvalueinvalueCol){   Console.WriteLine("Value = {0}", value);}

通過Remove方法移除指定的索引值


myDictionary.Remove(1);if(myDictionary.ContainsKey(1)){  Console.WriteLine("Key:{0},Value:{1}","1", myDictionary[1]);}else{    Console.WriteLine("不存在 Key : 1");  }

4.其它常見屬性和方法的說明:


  Comparer:          // 擷取用於確定字典中的鍵是否相等的 IEqualityComparer。  Count:                 // 擷取包含在 Dictionary中的鍵/值對的數目。  Item:                    //擷取或設定與指定的鍵相關聯的值。  Keys:                  // 擷取包含 Dictionary中的鍵的集合。  Values:               // 擷取包含 Dictionary中的值的集合。  Add:                   // 將指定的鍵和值添加到字典中。  Clear:                  //從 Dictionary中移除所有的鍵和值。  ContainsKey:      //確定 Dictionary是否包含指定的鍵。  ContainsValue:   //確定 Dictionary是否包含特定值。               GetEnumerator: // 返回逐一查看 Dictionary的枚舉數。  GetType:           //  擷取當前執行個體的 Type。 (從 Object 繼承。)  Remove:             //從 Dictionary中移除所指定的鍵的值。  ToString:             //返回表示當前 Object的 String。 (從 Object 繼承。)  TryGetValue:      //擷取與指定的鍵相關聯的值。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.