代码如下:
public class DictionaryApplication
{
public Dictionary<int, string> dic = new Dictionary<int, string>();
public delegate void ergodic();
public DictionaryApplication()
{
if (dic == null || dic.Count == 0)
{
dic.Add(1, "曹操");
dic.Add(3, "曹彰");
dic.Add(6, "曹昂");
dic.Add(7, "曹洪");
dic.Add(4, "曹真");
dic.Add(8, "曹丕");
dic.Add(5, "曹仁");
dic.Add(9, "曹叡");
dic.Add(2, "曹植");
}
Run(ForEach);
Run(ForEachKey);
Run(ForEachValue);
Run(ForArray);
}
public void Run(ergodic _ergodic)
{
_ergodic.Invoke();
}
/// <summary>
///
/// </summary>
public void ForEach()
{
Console.WriteLine("\r\n[----------ForEach开始-----------\r\n");
foreach (var item in dic)
{
Console.WriteLine("key:" + item.Key + "_value:" + item.Value);
}
Console.WriteLine("\r\n----------ForEach结束-----------]\r\n");
}
/// <summary>
/// 遍历键
/// </summary>
public void ForEachKey()
{
Console.WriteLine("\r\n[----------ForEachKey开始-----------\r\n");
foreach (int item in dic.Keys)
{
Console.WriteLine("key:" + item + "_value:" + dic[item]);
}
Console.WriteLine("\r\n----------ForEachKey结束-----------]\r\n");
}
/// <summary>
/// 遍历值
/// </summary>
public void ForEachValue()
{
Console.WriteLine("\r\n[----------ForEachValue开始-----------\r\n");
foreach (string item in dic.Values)
{
Console.WriteLine("value:" + item);
}
Console.WriteLine("\r\n----------ForEachValue结束-----------]\r\n");
}
/// <summary>
/// 通过这类方法可以对Dictionary排序后遍历
/// </summary>
public void ForArray()
{
Console.WriteLine("\r\n[----------ForArray开始-----------\r\n");
List<int> list = new List<int>(dic.Keys);
list.Sort();
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine("key:" + list[i] + "_value:" + dic[list[i]]);
}
Console.WriteLine("\r\n----------ForArray结束-----------]\r\n");
}
}输出结果:
