14得票3回答
LINQ orderby和IComparer的比较

我想知道使用哪种方法更好。 是使用IComparer类和Compare方法进行排序还是在List上使用LINQ orderby。两者都可以正常工作,但哪一种对于大型列表来说更好。

22得票4回答
C# lambda表达式和IComparer

我正在使用Lambda表达式在C#中对一个数组进行排序和搜索。 我不想在我的类中实现IComparer接口,因为我需要在多个成员字段上进行排序和搜索。 class Widget { public int foo; public void Bar() { ...

48得票5回答
使用自己的IComparer<T>与Linq OrderBy。

我有一个通用的List&lt;MyClass&gt; 假设 MyClass 有一个名为 InvoiceNumber 的属性,其中包含以下值: 200906/1 200906/2 .. 200906/10 200906/11 200906/12 我的列表绑定到一个BindingList&lt...

9得票2回答
派生类是否应该隐藏从Comparer<T>继承的Default和Create静态成员?

我正在编写一个 IComparer&lt;T&gt; 实现,通过从 Comparer&lt;T&gt; 类派生,就像 MSDN 推荐的那样。例如: public class MyComparer : Comparer&lt;MyClass&gt; { private readonly...

15得票2回答
我们应该扩展Comparer<T>还是实现IComparer<T>?

在编写比较器类时,从C# 4.0版本开始的最佳实践是什么: a. 我们应该继承自Comparer抽象类吗?还是 b. 应该实现IComparer接口。 这样做的优缺点是什么?

7得票1回答
IEqualityComparer and singleton

我想知道是否有可能将单例作为比较器对象,例如在Distinct中使用? 假设我有一个元素列表,并且需要在该列表上使用distinct函数。通常,我会这样做: var result = list.Distinct(new ListElementComparer); ListElemen...

10得票2回答
快速的IComparer?

在我重新发明轮子之前,有没有一些框架的方法可以从Func&lt;T,T,int&gt;创建一个IComparer&lt;T&gt;? 编辑 如果我没记错(已经有一段时间了),Java支持匿名接口实现。在C#中是否存在这样的构造,或者委托被认为是完全替代方案?

14得票1回答
如何在Linq的Distinct方法中使用自定义比较器?

我正在阅读一本关于Linq的书,看到Distinct方法有一个重载可以接受一个比较器。这将是解决我的问题的好方法,我想从集合中获取不同的实体,但希望比较基于实体ID,即使其他属性不同也是如此。根据这本书的说法,如果我有一个Gribulator实体,我应该能够创建一个像这样的比较器...priv...

64得票6回答
IComparable和IComparer的区别

IComparable和IComparer接口之间有什么区别?在使用Array.Sort()方法时是否总是需要使用这个接口?

111得票8回答
何时使用IComparable<T>与何时使用IComparer<T>

我正在尝试弄清楚我需要实现哪个接口,它们基本上都做同样的事情。在什么情况下我会选择使用其中一个而不是另一个?