2013-08-31 133 views

回答

2

使用本

listCustomFields.sort(); 
+2

Hey @MurtazaMunshi我不明白你为什么选择这个答案。马尔辛的答案写得更快更好。如果有多个答案,他们看起来像一样,选择速度最快,质量最好的答案。 –

+2

对不起,我是堆栈溢出的新手,我不知道这里的规则。我会牢记你的话。感谢Thanx指导我。 –

21

您可以使用LINQ OrderBy方法(它会产生新的List<string>与项目排序)字符串列表:

var ordered = listCustomField.OrderBy(x => x).ToList(); 

List<T>.Sort方法(将梳理到位的列表):

listCustomField.Sort(); 
+0

我认为这是更好的答案,因为我需要按降序排列,而linq支持这个 – mmeasor

1

你可以使用OrderBy比如;

按照的升序顺序对元素进行排序。

listCustomFields = listCustomFields.OrderBy(n => n).ToList(); 

作为替代方案,你可以使用List<T>.Sort Method也。

List<String> listCustomFields = new List<String>() { "FirstName", "MiddleName", "Class" }; 
listCustomFields = listCustomFields.OrderBy(n => n).ToList(); 

foreach (var item in listCustomFields) 
{ 
    Console.WriteLine(item); 
} 

输出将;

Class 
FirstName 
MiddleName 

这里是一个DEMO

0

你不需要LINQ为:

listCustomFields.Sort(); 

的:而不是创建一个排序的副本,您可以通过调用它Sort()方法排序您到位名单订单隐式升序。如果您需要更改,请提供自定义比较器。