如果我有一个方法或 lambda 来对List<T>
例如使用 spaceship 运算符进行排序(来自文档:x <=> y
-如果 x < y,结果为负,如果 x == y,则结果为零,如果 x > y,则为正),我如何使用那个方法?
有一个Sort(Comparison<T>)
方法,List<T>
但文档没有解释如何使用它。
例如,假设我想按字符串的长度对字符串列表进行排序,首先是升序,然后是使用方法和 lambda 的降序:
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);
}
}
}
}