8

我有一个类型为字符串的列表,我想按升序排列

listCustomFields = new List<String>() { "FirstName", "MiddleName", "Class" };
4

4 回答 4

27

您可以使用 LINQOrderBy方法(它将生成新List<string>的排序项目):

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

List<T>.Sort方法(它将对列表进行适当的排序):

listCustomField.Sort();
于 2013-08-31T08:08:26.963 回答
5

用这个

listCustomFields.sort();
于 2013-08-31T08:09:15.833 回答
3

你可以使用OrderBy喜欢;

按升序对序列的元素进行排序。

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

作为替代方案,您也可以使用List<T>.SortMethod

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

于 2013-08-31T08:08:48.983 回答
1

您不需要 LINQ:您可以通过调用Sort()方法对列表进行排序,而不是创建排序副本:

listCustomFields.Sort();

顺序是隐式升序的。如果您需要更改它,请提供自定义比较器。

于 2013-08-31T08:10:47.080 回答