C#中怎样遍历字典Dictionary?

C#中的Dictionary对象可不可以遍历呢?首先看一下Dictionary类的定义:

[SerializableAttribute]
[ComVisibleAttribute(false)]
public class Dictionary<TKey, TValue> : 
        IDictionary<TKey, TValue>, 
	ICollection<KeyValuePair<TKey, TValue>>, 
        IEnumerable<KeyValuePair<TKey, TValue>>, 
	IEnumerable, IDictionary, ICollection, 
        IReadOnlyDictionary<TKey, TValue>, 
	IReadOnlyCollection<KeyValuePair<TKey, TValue>>, 
        ISerializable, 
	IDeserializationCallback

可以看到Dictionary类实现了IEnumerable接口,所以Dictionary是可以向List对象一样去遍历的。遍历一个字典时,它元素的类型为:KeyValuePair<TKey, TValue>。
可以用foreach循环来遍历字典:

foreach(KeyValuePair<string, string> entry in myDic)
{
    // do something with entry.Value or entry.Key
	// example:
	Console.WriteLine(entry.Key);
	Console.WriteLine(entry.Value);
}

参考:
https://msdn.microsoft.com/en-us/library/xfhwa508(v=vs.110).aspx

Code问答 | CodeWenda.com

发表评论

电子邮件地址不会被公开。 必填项已用*标注

12 + = 20