c# - 我可以对列表进行排序吗通过它们里面的整数?
问题描述
例如;
List<string> list = new List<string>{
"1[EMPTY]", "2[EMPTY]", "3[EMPTY]", "4[EMPTY]", "5[EMPTY]", "6[EMPTY]", "7[EMPTY]", "8[EMPTY]", "9[EMPTY]", "10[EMPTY]", "11[EMPTY]", "12[EMPTY]"
};
当我使用
list.Sort();
输出:
1[空] 10[空] 11[空] 12[空] 2[空] 3[空] 4[空] 5[空] 6[空] 7[空] 8[空] 9[空]
我想要 1-2-3-4-5-6-7-8-9-10-11-12。我怎么解决这个问题?
(对不起,我的英语不好:{)
解决方案
您可以使用OrderBy
. 基本上诀窍是对字符串进行排序,以便解析为 int。并获得价值,直到第一次出现[
。
List<string> list = new List<string>{
"1[EMPTY]", "2[EMPTY]", "3[EMPTY]", "4[EMPTY]", "5[EMPTY]", "6[EMPTY]", "7[EMPTY]", "8[EMPTY]", "9[EMPTY]", "10[EMPTY]", "11[EMPTY]", "12[EMPTY]"
};
list = list.OrderBy(c => int.Parse(c.Substring(0, c.IndexOf('[')))).ToList();
推荐阅读
- visual-studio-code - 终端进程启动失败:启动过程中发生本机异常(找不到文件:)
- arrays - Python 将数组的维度从 (n,1) 更改为 (n,)
- java - 在 Apache HttpClient 中使用 euc-jp 发送 UrlEncodedForm 数据
- azure - Microsoft GRAPH API 可能没有 Azure 应用注册?
- roots-sage - 无法使用外部文件中的数组
- c# - TIME 类型的 INSERT 字段
- angular - 没有可观察的服务
- json - 平面 json 到结构化映射
- laravel - 为什么我不能急切地加载我关联的客户详细信息?
- responsive - 响应式设计:我是否必须为每个移动宽度进行媒体查询?