Maison > développement back-end > C++ > Comment la méthode Aggregate de LINQ peut-elle être utilisée pour une concaténation de chaînes efficace ?

Comment la méthode Aggregate de LINQ peut-elle être utilisée pour une concaténation de chaînes efficace ?

Patricia Arquette
Libérer: 2025-01-03 20:14:41
original
168 Les gens l'ont consulté

How Can LINQ's Aggregate Method Be Used for Efficient String Concatenation?

Concaténation de chaînes avec LINQ

La méthode traditionnelle de concaténation de chaînes consiste à utiliser un StringBuilder et à ajouter chaque chaîne dans une boucle. Cependant, pour une approche plus efficace, LINQ propose des requêtes agrégées.

Une requête agrégée est une fonction qui prend une collection de valeurs et renvoie une valeur scalaire. En utilisant la notation par points, vous pouvez appeler une requête agrégée sur un objet IEnumerable.

Pour concaténer des chaînes avec LINQ, vous pouvez utiliser la méthode Aggregate comme suit :

string[] words = { "one", "two", "three" };
string res = words.Aggregate(
    "", // Start with an empty string for empty list handling
    (current, next) => current + ", " + next);
Copier après la connexion

Ce code génère le résultat suivant :

, one, two, three
Copier après la connexion

Il est important de noter que les requêtes globales sont exécutées immédiatement. Pour des performances optimales avec des séquences volumineuses, envisagez plutôt d'utiliser String.Join.

Alternativement, si vous souhaitez utiliser Aggregate, vous pouvez tirer parti d'un StringBuilder pour améliorer les performances :

var res = words.Aggregate(
    new StringBuilder(), 
    (current, next) => current.Append(current.Length == 0? "" : ", ").Append(next));
Copier après la connexion

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