集計関数には次のものがあります。
- Sum
- Avg
- Max
- Min
- Count
- LongCount
CountとLongCountは別として、その他のSum,Avg,Max,Minには多くのオーバーロードが存在します。ここでは、それらの種類を整理します。
Sum,Avg,Max,Minは数値を対象として、合計、平均、最大、最小を求める関数です。
.netでは数値として様々な型をサポートしますが、集計関数では、Int32,Int64,Float,Double,Decimalをサポートします。
また、上記のNull許容型もサポートします。
したがって、5つの数値型および、Null許容型か否かで10種類の型それぞれにオーバーロードが用意されています。
また、MaxとMinについては、ジェネリック型をサポートしています。
すなわち、IComparableインタフェースを実装するクラスであれば、どんな型でもサポートするということになります。