Maison > développement back-end > C++ > Comment fonctionne la fonction d'agrégation de LINQ : une explication étape par étape ?

Comment fonctionne la fonction d'agrégation de LINQ : une explication étape par étape ?

Barbara Streisand
Libérer: 2024-12-24 20:24:15
original
399 Les gens l'ont consulté

How Does LINQ's Aggregate Function Work: A Step-by-Step Explanation?

LINQ Aggregate démystifié : un guide étape par étape

La fonction Aggregate de LINQ peut souvent être une source de confusion. Dans cet article, nous allons plonger dans le fonctionnement interne d'Aggregate et fournir des explications claires et concises avec des exemples concrets.

Comprendre Aggregate

Aggregate est une opération qui parcourt une séquence d'éléments, en appliquant une fonction spécifiée (expression lambda) à chaque élément et au résultat précédemment accumulé. Il effectue essentiellement des opérations consécutives sur les éléments, faisant avancer les résultats intermédiaires.

Exemple 1 : Addition de nombres

Commençons par un exemple simple de sommation d'une liste de nombres :

var nums = new[] { 1, 2, 3, 4 };
var sum = nums.Aggregate((a, b) => a + b);
Console.WriteLine(sum); // Output: 10
Copier après la connexion

Dans cet exemple, la fonction Aggregate initialise un résultat avec le premier élément (1). Il applique ensuite l'expression lambda (a b) au résultat actuel (1) et à l'élément suivant (2), ce qui donne 3. Ce processus se poursuit, en ajoutant chaque élément au résultat précédent.

Exemple 2 : Création d'un CSV à partir de chaînes

L'agrégat peut également être utilisé pour la manipulation de chaînes. Voici comment créer une chaîne séparée par des virgules à partir d'un tableau de caractères :

var chars = new[] { "a", "b", "c", "d" };
var csv = chars.Aggregate((a, b) => a + "," + b);
Console.WriteLine(csv); // Output: a,b,c,d
Copier après la connexion

Exemple 3 : Multiplier des nombres avec une graine

Aggregate prend en charge une surcharge qui prend une valeur de départ initiale pour lancer les calculs. Prenons l'exemple suivant :

var multipliers = new[] { 10, 20, 30, 40 };
var multiplied = multipliers.Aggregate(5, (a, b) => a * b);
Console.WriteLine(multiplied); // Output: 1200000
Copier après la connexion

Dans ce cas, l'opération d'agrégation commence par la valeur de départ (5) et applique l'expression lambda de multiplication (a * b). Chaque élément de la séquence est multiplié par le résultat précédent et reporté, produisant le résultat final de 1 200 000.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal