Dictionary学习笔记-嵌套Dictionary的遍历与排序(按Key值)
2012-09-08 10:21
393 查看
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值)(二)
- linq学习笔记:将List<T> 转换为 Dictionary<T Key,T Value>
- [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组
- [oc学习笔记]数组的遍历和排序
- [oc学习笔记]数组的遍历和排序
- .net学习笔记----有序集合SortedList、SortedList<TKey,TValue>、SortedDictionary<TKey,TValue>
- JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序
- c++ 模板学习笔记:函数模板实现数组通用排序和遍历打印(权哥)
- NO4.java学习笔记(数组、数组的操作【遍历、排序、查找】)
- python学习笔记--打印嵌套list中每个数据(遍历列表)
- Java学习笔记(八)Dictionary,HashTable,Properties
- DataTable学习笔记---排序细则、列隐藏[3]
- Scala学习笔记之 --- Array、ArrayBuffer以及遍历数组(1)
- 排序学习笔记1
- Java集合学习笔记(通过比较器对集合元素排序)
- Object C学习笔记13-Dictionary
- (Java学习笔记5.2)选择排序
- go语言笔记——map map 默认是无序的,不管是按照 key 还是按照 value 默认都不排序
- Redis学习笔记(九)进阶之排序