C# Ersetzen Sie alle Elemente von List<string> mit dem gleichen Muster mit LINQ
Habe ich eine C# - Liste mit tausenden von strings:
"2324343"
"6572332"
"45122" ...
Möchte ich ersetzen alle von Ihnen werden mit eckigen Klammern um Sie herum, so dass Sie dann Aussehen würde
"(2324343)"
"(6572332)"
"(45122)" ...
Ich weiß, wie man schreiben Sie eine for-Schleife und die dies tun, aber ich würde gerne wissen, ob es eine Möglichkeit gibt, es zu tun mit LINQ und LAMBDA-Ausdruck bevorzugt. Ich bin offen für andere Vorschläge, wie gut.
Vielen Dank!
InformationsquelleAutor Jenninha | 2013-06-04
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
string.Format
, verwenden Sie einfach'(' + x + ')'
.string.Format
kann ein Tier, das er verarbeitet VIELE verschiedene Formatierungen (und können auch erweitert werden).10000000
stringsstring.Format
nahm5785
ms, während'(' + x + ')'
nahm4531
ms. Ich sehe keine Vorteile, wenn man bedenkt, dass für Ihre Lösung erstellen Sie zwei Zeichenfolgen für jede Eingabe die Zeichenfolge, während string.Format erstellen nur eine pro input-string. HINWEIS:"(" + vals[i] + ")"
führt in2088
ms. Dies ist wahrscheinlich auf eine Box-Ausgabe des chars. Der Faktor 3 ist mehr wie eine Verbesserung für mich(000
erstellt zunächst als(000)
(oder Umgekehrt), obwohl ich verwechselt werden könnten."(" + x + ")"
im wesentlichen wandelt es in einString.Concat
nennen, die sich ziemlich effizient. EDIT: Gerade bemerkt, die Nutzung vonchar
mit einfachen Anführungszeichen; ich würde das nicht persönlich, ich nur stick mit strings. 🙂(
+ x +)
. ideone.com/DfyTpO habe ich entfernt, alle LINQ-so dass Sie alle stehen auf gleicher Augenhöhe (ohne den Aufwand für Methoden-aufrufen etc.).