Dictionary学习笔记-嵌套Dictionary的遍历与排序(按Key值)(二)
2012-05-18 23:48
471 查看
class Program
{
static void Main()
{
//构造一个嵌套字典
Dictionary<int, Dictionary<int, string>> dicExternal = new Dictionary<int, Dictionary<int, string>>();
for (int i = 90; i > 65; i = i - 5)
{
Dictionary<int, string> dicInternal = new Dictionary<int, string>();
for (int j = i; j > i - 5; j--)
{
char asc = (char)j;
dicInternal.Add(j, asc.ToString());
}
dicExternal.Add(i, dicInternal);
}
//内层字典排序
Dictionary<int, Dictionary<int, string>> T = new Dictionary<int, Dictionary<int, string>>();
foreach (int key in dicExternal.Keys)
{
Dictionary<int, string> dicOrderInter = new Dictionary<int, string>();
dicOrderInter = (from p in dicExternal[key] orderby p.Key select p).ToDictionary(pair => pair.Key, pair => pair.Value);
T.Add(key, dicOrderInter);
}
//外层字典排序
Dictionary<int, Dictionary<int, string>> dicOrderExter = new Dictionary<int, Dictionary<int, string>>();
dicOrderExter = (from p in T orderby p.Key select p).ToDictionary(pair => pair.Key, pair => pair.Value);
//输出排序后的所有内层字典的Value
foreach (int key in dicOrderExter.Keys)
{
foreach (int keyInter in dicOrderExter[key].Keys)
{
Console.WriteLine("key:" + keyInter + ",Value:" + dicOrderExter[key][keyInter].ToString());
}
}
Console.ReadLine();
}
}
运行结果:
{
static void Main()
{
//构造一个嵌套字典
Dictionary<int, Dictionary<int, string>> dicExternal = new Dictionary<int, Dictionary<int, string>>();
for (int i = 90; i > 65; i = i - 5)
{
Dictionary<int, string> dicInternal = new Dictionary<int, string>();
for (int j = i; j > i - 5; j--)
{
char asc = (char)j;
dicInternal.Add(j, asc.ToString());
}
dicExternal.Add(i, dicInternal);
}
//内层字典排序
Dictionary<int, Dictionary<int, string>> T = new Dictionary<int, Dictionary<int, string>>();
foreach (int key in dicExternal.Keys)
{
Dictionary<int, string> dicOrderInter = new Dictionary<int, string>();
dicOrderInter = (from p in dicExternal[key] orderby p.Key select p).ToDictionary(pair => pair.Key, pair => pair.Value);
T.Add(key, dicOrderInter);
}
//外层字典排序
Dictionary<int, Dictionary<int, string>> dicOrderExter = new Dictionary<int, Dictionary<int, string>>();
dicOrderExter = (from p in T orderby p.Key select p).ToDictionary(pair => pair.Key, pair => pair.Value);
//输出排序后的所有内层字典的Value
foreach (int key in dicOrderExter.Keys)
{
foreach (int keyInter in dicOrderExter[key].Keys)
{
Console.WriteLine("key:" + keyInter + ",Value:" + dicOrderExter[key][keyInter].ToString());
}
}
Console.ReadLine();
}
}
运行结果:
相关文章推荐
- Dictionary学习笔记-嵌套Dictionary的遍历与排序(按Key值)
- 嵌套Dictionary的遍历与排序(按Key值)(二)
- [oc学习笔记]数组的遍历和排序
- linq学习笔记:将List<T> 转换为 Dictionary<T Key,T Value>
- [oc学习笔记]数组的遍历和排序
- .net学习笔记----有序集合SortedList、SortedList<TKey,TValue>、SortedDictionary<TKey,TValue>
- [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组
- python学习笔记--打印嵌套list中每个数据(遍历列表)
- c++ 模板学习笔记:函数模板实现数组通用排序和遍历打印(权哥)
- NO4.java学习笔记(数组、数组的操作【遍历、排序、查找】)
- JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序
- Lua 学习笔记:C API 遍历 Table
- C++学习笔记10 各种各样的排序算法复杂度
- 算法学习笔记——排序问题
- 算法精讲学习笔记 排序(一)
- 排序算法学习笔记
- js学习笔记 - sort()方法的用法,参数以及排序原理
- select,数据查询,排序,字段别名__mysql学习笔记
- 数据结构学习笔记----排序
- (学习笔记一)——CvWaitKey函数机制解析