Maison >développement back-end >C++ >Quel est le moyen le plus rapide de répéter un caractère en C# ?
En C#, il existe différentes approches pour créer une chaîne composée de caractères répétés. Pour déterminer la méthode la plus efficace et la plus appropriée, examinons les options :
Version LINQ :
private string Tabs(uint numTabs) { IEnumerable<string> tabs = Enumerable.Repeat("\t", (int) numTabs); return (numTabs > 0) ? tabs.Aggregate((sum, next) => sum + next) : ""; }
Bien que l'approche LINQ soit concise, elle introduit une surcharge inutile en raison de l'utilisation des opérations LINQ (Repeat, Aggregate).
StringBuilder Version :
private string Tabs(uint numTabs) { StringBuilder sb = new StringBuilder(); for (uint i = 0; i < numTabs; i++) sb.Append("\t"); return sb.ToString(); }
L'approche StringBuilder est simple mais peut être légèrement plus lente par rapport à d'autres options en raison des allocations de mémoire pour l'objet StringBuilder.
Version String :
private string Tabs(uint numTabs) { string output = ""; for (uint i = 0; i < numTabs; i++) { output += '\t'; } return output; }
La version chaîne est basique et ne nécessite aucune instance de classe supplémentaire. C'est une bonne option lorsque la simplicité et l'efficacité sont privilégiées.
Solution optimisée :
Pour optimiser davantage la version chaîne, pensez à utiliser la syntaxe suivante :
static string Tabs(int n) { return new string('\t', n); }
Cette syntaxe élimine le besoin de boucle et fournit un moyen direct et efficace de générer une chaîne de la longueur souhaitée contenant le spécifié caractère.
Conclusion :
Le choix optimal parmi ces options dépend des exigences spécifiques de votre application. Pour les scénarios critiques en termes de performances, la version de chaîne optimisée ou la nouvelle syntaxe de chaîne est recommandée. Pour les scénarios de base où la simplicité et la lisibilité sont importantes, la version chaîne de base convient.
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!