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
Patricia Arquetteoriginal
2025-01-03 20:14:41183parcourir

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);

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

, one, two, three

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));

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!

Déclaration:
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