Если это коллекция (подкласс IEnumerable<T>
), можно легко использовать функции из библиотеки System.Linq
int min = new int[] {2,3,4,8}.Min();
Более того, эти методы легко реализовать самостоятельно:
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
, чтобы облегчить жизнь некоторым программистам.