我有这样的列表:
List<string> list_lines = new List<string>();
list_lines.add("name1__pass1__com__14__55");
list_lines.add("name2__pass2__com__14__5445");
list_lines.add("name3__pass3__com__14__456456");
list_lines.add("name4__pass4__com__14__1357");
list_lines.add("name5__pass5__com__14__20000");
list_lines.add("name6__pass6__com__14__25");
list_lines.add("name7__pass7__com__14__12");
以及更多...
如您所见,该列表中的每个字符串中都有一个分隔符->“ __”。均值:
string[] Separator = new string[] { "__" };
foreach(string s in list_lines)
{
string[] line_ar = s.Split(Separator, StringSplitOptions.None);
int Num = int.parse(line_ar[4]);
}
我想按该列表的Num部分对该列表进行排序。我使用StackOverflow测试了一些方法,但是其中的一个错误列出了很多问题。
非常感谢您帮助我解决问题
Asc:
如果数字总是在最后一个下划线字符之后开始,那么这应该起作用:
var myList = list_lines.OrderBy(x => int.Parse(x.Split(new string[] {"__"}, StringSplitOptions.None)[4])).ToList();
其他答案将创建一个new
OrderBy