C#字典排序(按Key值、Value值顺序【升序】逆序【降序】排序)

字典的排序,简单做个笔记,方便查询(引用命名空间using System.Linq;):

Dictionary<int, int> tempDict = new Dictionary<int, int>();
var sortResult1 = from pair in tempDict orderby pair.Value descending select pair; //以字典Value值逆序排序[降序]
var sortResult2 = from pair in tempDict orderby pair.Key descending select pair; //以字典Key值逆序排序[降序]
var sortResult3 = from pair in tempDict orderby pair.Key ascending select pair; //以字典Key值顺序排序[升序]
var sortResult4 = from pair in tempDict orderby pair.Value ascending select pair; //以字典Value值顺序排序[升序]

总结:

  1. 需要注意的是,得到的排序结构sortResult1,2,3,4是一个迭代器 IOrderedEnumerable<> 了,不再是字典,如果这样写则是错误的:
Dictionary<int, int> sortResult1 = from pair in tempDict orderby pair.Value descending select pair; //以字典Value值逆序排序
  1. 如果字典的key值或Value值是引用类型的,可以根据根据引用类型中的某个字段来排序:
public class Info
{
	public int m_ID;
}
Dictionary<int, Info> tempDict = new Dictionary<int, Info>();
var sortResult1 = from pair in tempDict orderby pair.Value.m_ID descending select pair; //以字典Value值的字段 m_ID 逆序排序

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_42205218/article/details/105934030
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值