小编Sve*_*ana的帖子

Comparer<T>、IComparer<T> 和 Comparison<T> 之间的链接

我是 C# 新手。我需要编写一个代码来对 T 数组进行排序。我在选择比较方法时遇到了问题。
根据我的任务,我应该提供方法,使用 Comparer<T>IComparer<T>Comparison<T>
我正在寻找一种解决方案,它可以将一种方法引入另一种方法,因此我避免对Comparer<T>,IComparer<T>和中的每一个重复相同的逻辑Comparison<T>

我知道,这Comparison<T>可能会被“重新创建”为Comparer<T>with Comparer<T>.Create,但是如何使Comparer<T>IComparer<T>可以互换呢?

到目前为止,方法的原型如下所示。

public T[] Sort<T>(T[] toSort) where T : System.IComparable<T>;
    
public T[] Sort<T>(T[] toSort, IComparer<T> comparer);
    
public T[] Sort<T>(T[] toSort, Comparer<T> comparer);
    
public T[] Sort<T>(T[] toSort, Comparison<T> comparison);
Run Code Online (Sandbox Code Playgroud)

c# generics delegates

2
推荐指数
1
解决办法
46
查看次数

标签 统计

c# ×1

delegates ×1

generics ×1