Maison > développement back-end > C++ > Comment LINQ peut-il concaténer efficacement des chaînes ?

Comment LINQ peut-il concaténer efficacement des chaînes ?

Barbara Streisand
Libérer: 2025-01-04 05:53:40
original
570 Les gens l'ont consulté

How Can LINQ Efficiently Concatenate Strings?

LINQ pour concaténer des chaînes

Dans le code plus ancien, les chaînes étaient souvent concaténées à l'aide d'un StringBuilder dans une boucle. Cette méthode, bien que fonctionnelle, peut être inefficace et verbeuse.

LINQ offre une alternative plus concise et efficace grâce à des requêtes globales. Pour concaténer des chaînes à l'aide de LINQ, procédez comme suit :

Requêtes agrégées

Les requêtes agrégées sont utilisées pour réduire une collection de valeurs en une seule valeur scalaire. Dans ce cas, les chaînes seront réduites à une seule chaîne concaténée.

string[] words = { "one", "two", "three" };
var result = words.Aggregate(
    "", // Start with an empty string to handle empty lists.
    (current, next) => current + ", " + next);
Copier après la connexion

Répartition

  • Agrégation : Démarre la requête en spécifiant une valeur initiale et une fonction d'agrégation.
  • (actuel, suivant) => ... : Définit la fonction d'agrégation qui combine chaque chaîne avec un délimiteur dans la chaîne actuelle.
  • current ", " next : Concatène le délimiteur et la chaîne suivante à la chaîne actuelle.

Résultat

L'exécution de cette requête génère :

one, two, three
Copier après la connexion

Utilisation alternative StringBuilder

Bien que les requêtes agrégées soient une fonctionnalité LINQ polyvalente, String.Join offre une option plus performante pour concaténer un grand nombre de chaînes :

string result = String.Join(", ", words);
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