gpt4 book ai didi

c# - 使用 Comparison() 与三个参数重载进行比较

转载 作者:行者123 更新时间:2023-11-30 19:26:15 25 4
gpt4 key购买 nike

我有一个 List<Points>()我想使用自定义比较器函数对其进行排序。

我做了:

public int MyCompare(Point p1, Point p2)
{
...
}

// In my main
// ...
points_.Sort(MyCompare);
// ...

我工作,好的。

现在我想对除第一个元素以外的所有元素进行排序,所以我想这样做:

points_.Sort(1, points_.Count()-1, MyCompare); 

但是对于这个重载,他想要一个 IComparer 作为参数。

我该如何解决这个问题?

请注意 Point 不是自定义类,它来自 Xna 框架。我不想用 : IComparer 实现自定义类

最佳答案

如果不想执行IComparer ,您可以使用 Comparer<T>.Create static method 从委托(delegate)创建一个,像这样:

points_.Sort(1, points_.Count()-1, Comparer.Create(MyCompare));

甚至

points_.Sort(1, points_.Count()-1, Comparer.Create((a, b) => {
... // comparison logic goes here
}));

关于c# - 使用 Comparison<T>() 与三个参数重载进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24370785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com