Упорядочить список в порядке возрастания

У меня есть список, тип которого-строка, которую я хочу расположить в порядке возрастания

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

4 ответов


использовать

listCustomFields.sort();

вы можете использовать LINQ OrderBy способ (он будет генерировать новый List<string> элементов списка):

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

или List<T>.Sort метод (он будет сортировать список на месте):

listCustomField.Sort();

можно использовать OrderBy нравится;

сортирует элементы последовательности в порядке возрастания.

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

в качестве альтернативы, вы можете использовать List<T>.Sort метод также.

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
на демо.

для этого вам не нужен LINQ: вместо создания отсортированной копии вы можете отсортировать свой список на месте, позвонив Sort() способ на это:

listCustomFields.Sort();

порядок неявно по возрастанию. Если вам нужно изменить это, поставьте пользовательский comparer.