C# Dictionary排序

本文介绍如何使用C#中的Dictionary进行排序,并通过一个小Demo加深理解,涉及随机数生成、列表操作与数据展示。

年底接近尾声,闲来无事,继续加强学习C#的一些基础知识,今天弄了一下Dictionary排序,顺便

做个小Demo,以加深映像,为了更加真实些,稍微使逻辑复杂了一些,关键训练一下自己的思维逻辑:

1.先看效果图:

C# <wbr>Dictionary排序

2.核心逻辑如下:

Dictionary<int, string> list = new Dictionary<int, string>();//实例化一个字典
Random rd = new Random();//为了更加真实,创建一个生成整数的随机数生成器
int id = 0;
List<int> idlist = new List<int>();//用来生成100个整数,并存放到列表里idlist
for (int i = 0; i < 100; i++)
{
id = rd.Next(1, 100);
idlist.Add(id);
}

//遍历列表idlist,并加入字典list
foreach (int item in idlist)
{
if (!list.ContainsKey(item))
{
list.Add(item, "字典排序测试");
}
}

//实现排序的关键方法,可以声明一个key-value结构的集合数组,这里用了List,只要符合key-value结构的数据结构都可以,

//然后利用字典的OrderBy(升序)、OrderByDescending(降序)方法轻松实现排序功能

//通过过linq也可以实现:var result = from pair in dic orderby pair.Key select pair

List<KeyValuePair<int, string>> lstorder = list.OrderByDescending(c => c.Key).ToList();

DataTable dt = new DataTable();
dt.Columns.Add("编号");
dt.Columns.Add("内容");
foreach (KeyValuePair<int, string> item in lstorder)
{
dt.Rows.Add(item.Key, item.Value);
}
this.dataGridView1.DataSource = dt;//用DataGridView来展示结果

总结:不要忽略对基础知识的学习,更难更复杂的东西,实现的基础往往是这些小细节来组合而成的,莫要好高骛远,踏踏实实,扎扎实实学习。

转载于:https://www.cnblogs.com/xxaxx/archive/2012/11/24/2785313.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值