Если у меня есть метод или лямбда для сортировки List<T>
, например, с помощью оператора космического корабля (из документации : x <=> y
- результаты отрицательные, если x y), как я могу отсортировать список с помощью этого метода?
Существует метод Sort(Comparison<T>)
на List<T>
, но документация не объясняет, как его использовать.
Например, предположим, что я хочу отсортировать список строк по их длине, сначала в порядке возрастания, затем в порядке убывания, используя метод и лямбду:
using System;
using System.Collections.Generic;
namespace test
{
class Program
{
public static int ascendingMethod (String lhs, String rhs)
{
return lhs.Length <=> rhs.Length;
}
public static void Main()
{
function int(String lhs, String rhs) descendingLambda = (lhs, rhs) =>
rhs.Length <=> lhs.Length;
let list = scope List<String>();
list.Add("2Foobar");
list.Add("1Fooba");
list.Add("3Foob");
//sort using Descending lamdba
for(let s in list)
{
Console.WriteLine(s);
}
// sort using Ascending method
for(let s in list)
{
Console.WriteLine(s);
}
}
}
}