S'il s'agit d'une collection (Une sous-classe de IEnumerable<T>
), on pourrait facilement utiliser les fonctions de l System.Linq
bibliothèque
int min = new int[] {2,3,4,8}.Min();
En outre, il est facile de mettre en œuvre ces méthodes par soi-même :
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();
}
}
Vous pouvez appeler ces méthodes avec de simples scalaires, comme suit Maths.Min(14,25,13,2)
donnerait 2
.
Ce sont les méthodes génériques, il n'est donc pas nécessaire d'implémenter cette méthode pour chaque type de nombre ( int
, float
,...)
Je pense que la raison fondamentale pour laquelle ces méthodes ne sont pas implémentées en général est que, à chaque fois que vous appelez cette méthode, un tableau (ou au moins un IList
) doit être créé. En gardant des méthodes de bas niveau, on peut éviter l'overhead. Cependant, je suis d'accord pour dire que l'on pourrait ajouter ces méthodes à l'objet Math
pour faciliter la vie de certains programmeurs.