Oui, vous pouvez utiliser Sum
comme ça. Juste affecter le résultat à quelque chose:
int s = intList.Sum();
Vous avez maintenant la somme des nombres dans la liste stockée dans une variable appelée s
.
Il s'agit en fait d'une méthode d'extension Enumerable.Sum
ajoutée dans .NET 3.5 et qui fonctionne sur plus que des listes.
Bien sûr, en interne, cela boucle encore les nombres et les ajoute, mais il est beaucoup plus facile d'appeler cette méthode que de l'écrire vous-même. En utilisant réflecteur .NET, vous pouvez voir que la mise en œuvre est assez simple:
public static int Sum(this IEnumerable<int> source)
{
if (source == null)
{
throw Error.ArgumentNull("source");
}
int num = 0;
foreach (int num2 in source)
{
num += num2;
}
return num;
}
Notez qu'il existe aussi une méthode Queryable.Sum
. Cela vous permet de faire la somme de nombres dans une base de données sans les récupérer et de les parcourir localement. Au lieu de cela, l'opération de somme peut être effectuée dans la base de données et seul le résultat est renvoyé.
Côté note, vous devez "utiliser System.Linq". – Shawn