Mam listę, którego typ jest ciąg, który chcę, aby zorganizować w porządku rosnącymUmów List <> w kolejności rosnącej
listCustomFields = new List<String>() { "FirstName", "MiddleName", "Class" };
Mam listę, którego typ jest ciąg, który chcę, aby zorganizować w porządku rosnącymUmów List <> w kolejności rosnącej
listCustomFields = new List<String>() { "FirstName", "MiddleName", "Class" };
użycie tego
listCustomFields.sort();
Można użyć LINQ OrderBy
metodę (wygeneruje nowy List<string>
z pozycji sortowane):
var ordered = listCustomField.OrderBy(x => x).ToList();
lub List<T>.Sort
metoda (będzie posortować listę w kolejności):
listCustomField.Sort();
Myślę, że to jest lepsza odpowiedź, ponieważ musiałem zrobić to w malejącej kolejności, a linq obsługuje to – mmeasor
Możesz użyć numeru OrderBy
;
Sortuje elementy sekwencji w porządku rosnącym według .
listCustomFields = listCustomFields.OrderBy(n => n).ToList();
Jako alternatywę można użyć również 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);
}
Wyjście będzie;
Class
FirstName
MiddleName
Tutaj jest DEMO.
Nie potrzeba LINQ do tego: zamiast tworzenia posortowaną kopie można sortować listy w miejscu poprzez wywołanie Sort()
metodę na nim:
listCustomFields.Sort();
The zamówienie jest domyślnie rosnące. Jeśli musisz to zmienić, podaj niestandardowego porównywalnika.
Hej @MurtazaMunshi Nie rozumiem, dlaczego wybrałeś tę odpowiedź. Odpowiedź Marcina jest szybsza i lepiej napisana. Jeśli istnieje więcej niż jedna odpowiedź, wygląda to tak samo, wybierz najszybszą i najlepszą jakość. –
Przepraszam, że jestem nowy, aby przepełnić stos i nie stosować tutaj zasad. Będę pamiętać o twoich słowach. Dzięki za kierowanie mną. –