Zoeken…


Opmerkingen

Als u een dynamische tekenreeks maakt, is het een goede gewoonte om te kiezen voor de StringBuilder klasse in plaats van het samenvoegen van tekenreeksen met de methode + of Concat , omdat elke + / Concat telkens een nieuw tekenreeksobject maakt.

+ Operator

string s1 = "string1";
string s2 = "string2";

string s3 = s1 + s2; // "string1string2"

Tekenreeksen samenvoegen met System.Text.StringBuilder

Tekenreeksen samenvoegen met een StringBuilder kan prestatievoordelen bieden boven eenvoudige tekenreeksen samenvoegen met + . Dit komt door de manier waarop geheugen wordt toegewezen. Strings worden opnieuw toegewezen bij elke aaneenschakeling, StringBuilders wijzen geheugen toe in blokken die alleen opnieuw worden toegewezen wanneer het huidige blok is uitgeput. Dit kan een enorm verschil maken bij het doen van veel kleine aaneenschakelingen.

StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++)
{
    sb.Append(i);
    sb.Append(" ");
}
Console.WriteLine(sb.ToString()); // "1 2 3 4 5 "

Aanroepen naar Append() kunnen in serie worden geschakeld, omdat het een verwijzing naar de StringBuilder retourneert:

StringBuilder sb = new StringBuilder();
sb.Append("some string ")
  .Append("another string");

Concat string array-elementen met String.Join

De methode String.Join kan worden gebruikt om meerdere elementen uit een reeks String.Join .

string[] value = {"apple", "orange", "grape", "pear"};
string separator = ", ";

string result = String.Join(separator, value, 1, 2);
Console.WriteLine(result);

Produceert de volgende uitvoer: "sinaasappel, druif"

In dit voorbeeld wordt de String.Join(String, String[], Int32, Int32) , die de String.Join(String, String[], Int32, Int32) aangeeft en op het scheidingsteken en de waarde telt.

Als u de startIndex niet wilt gebruiken en overbelastingen wilt tellen, kunt u deelnemen aan alle gegeven tekenreeksen. Soortgelijk:

string[] value = {"apple", "orange", "grape", "pear"};
string separator = ", ";
string result = String.Join(separator, value);
Console.WriteLine(result);

die zal produceren;

appel, sinaasappel, druif, peer

Samenvoeging van twee tekenreeksen met $

$ biedt een eenvoudige en beknopte methode om meerdere tekenreeksen samen te voegen.

var str1 = "text1";
var str2 = " ";
var str3 = "text3";
string result2 = $"{str1}{str2}{str3}"; //"text1 text3"


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow