c# - 按另一个数组中指定的顺序对数组进行排序
问题描述
我有一个键值对列表,我想根据另一个数组中指定的顺序对其进行排序。
var requiredOrder = new String[] { "PH", "HH", "PR", "SR", "UN", "UD", "WD", "WE", "OT" };
var listToBeSorted = new List<KeyValuePair<string, string>>() {
new KeyValuePair<string, string>("A","PR"),
new KeyValuePair<string, string>("B","PH"),
new KeyValuePair<string, string>("C","HH"),
new KeyValuePair<string, string>("D","WD"),
new KeyValuePair<string, string>("E","OT"),
new KeyValuePair<string, string>("F","UN"),
.....
};
'listToBeSorted' 是我为下拉列表获取的一个集合,需要根据 'requiredOrder' 数组按值排序。
解决方案
requiredOrder
您可以使用数组中的项目的索引进行排序Array.IndexOf()
listToBeSorted = listToBeSorted.OrderBy(x => Array.IndexOf(requiredOrder, x.Value)).ToList();
推荐阅读
- asp.net - NET平台识别
- python - Windows更新后屏幕上的Pygame对象移动了吗?
- javascript - React Native:如何将 taskmanager 返回的 promise 中的值发送到 redux 商店?
- java - 为什么当 y>5 和 x=2 时这个带有 for 循环的程序给出零
- python - 如何根据分类值将时间序列拆分为固定长度的连续子集?
- processmaker - Processmaker 作曲家安装有错误
- latex - 如何在 pandoc 中移动“数字列表”(很多)
- reactjs - React Redux:更新对象数组中的项目
- javascript - 如何在Javascript中使用拼接方法获取未删除的数组元素
- php - Laravel multipl模型链接不起作用