在List <class>?</class>上运行Max需要实现什么?

时间:2013-06-07 15:50:51

标签: c# linq

假设我有一个A和B类:

class A
{
    public B myValue;
}

class B
{
}

我有List<A> myList,我希望能够致电:

var maxValue = myList.Max(a => a.myValue);

我需要在B更改哪些内容才能运行.Max()

2 个答案:

答案 0 :(得分:7)

您的myValue应该是IComparable<T>类型,实际上您应该为您的特定类型实现此接口。

答案 1 :(得分:1)

根据Enumerable.Max<TSource>()

  

如果类型TSource实现IComparable<T>,则此方法使用该实现来比较值。否则,如果类型TSource实现IComparable,则该实现用于比较值。