それは1つが簡単に、さらに、それはあなた自身にこれらのメソッドを実装するのは簡単です
int min = new int[] {2,3,4,8}.Min();
System.Linq
ライブラリの関数を使用することができ、コレクション(IEnumerable<T>
のサブクラス)の場合:
public static class Maths {
public static T Min<T> (params T[] vals) {
return vals.Min();
}
public static T Max<T> (params T[] vals) {
return vals.Max();
}
}
単純なスカラーでこのメソッドを呼び出すことができますので、Maths.Min(14,25,13,2)
は2
となります。私は、これらの方法は、一般的に実装されていない基本的な理由を考える(...、int
、float
)
これらは、一般的な方法なので、数字の種類ごとに、このメソッドを実装する必要はありませんこのメソッドを配列(または少なくともIList
オブジェクトを作成する必要があります。低レベルのメソッドを維持することによって、オーバーヘッドを避けることができます)ですが、私はこれらのメソッドをMath
クラスに追加して、プログラマーはもっと簡単に
あなたの探しているものではありませんが、LINQにはIEnumerableの最小拡張子があります –
可変長関数を呼び出すと配列が割り当てられます。これは単純な最小/最大のためにあまりにも多くのオーバヘッドと考えられていたかもしれません。 – arx