程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> 遍歷Dictionary<K,V>的兩種方式

遍歷Dictionary<K,V>的兩種方式

編輯:C#基礎知識

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

things.Add(........);

things.Add(........);

 

 

第一種方式:可以使用Keys和values屬性迭代集合中的鍵和值:

foreach(string key in things.Keys)

{

//  ......

}

foreach(int value in things.Values)

{

//....

}

第二種方式:還可以迭代集合中的各個項,把每個項作為一個 KeyValuePair<K,V>實例來獲取。

foreach(KeyValuePair<string,int> thing in things)

{

 Console.WriteLine("{0} = {1}",thing.Key,thing.Value);

}

 

另外關於Dictionary<K,V>,的key是不能重復的,如果添加相同的key就會拋出 ArgumentException異常。

但可能有這樣的一個應用:key作用一個商品名,或者姓名,是不區分大小寫的(應該當成同一個商品或者人物),但我們作為Key

加進去是不是拋異常的,但這卻違反了我們的業務邏輯概念(我們的名字或商品名等是不區別大小寫,即大小寫不同的名字應該當成相同的key)

解決方法:在new  dictionary 時,可以把  IComparer<k> 接口傳遞給構造函數。我們可以在IComparer<K>接口中,我們比較每個名字(比如轉化為小寫再比較)。

這樣就可以了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved