4

我在表格中有以下列表

Name
Server1
Server2
Server3
Server4
Server5
Server6
Server7
Server8
Server9
Server10
Server11
Server12

唯一的问题是我的 linq 状态 orderby 名称升序将它们如下所示

Server1
Server10
Server11
Server12
Server2
Server3
Server4
Server5
Server6
Server7
Server8
Server9

有没有办法阻止这个?

谢谢

4

1 回答 1

4

对于这种特殊用例,您可以按长度排序,然后命名或解析数字并按其排序:

// 1st alternative
servers.OrderBy(s => s.Length).OrderBy(s => s.Name);

// 2nd alternative
servers.OrderBy(s => Int32.Parse(s.Substring(6)));
于 2013-11-07T15:51:02.280 回答