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!