Sök…


Anmärkningar

Om du skapar en dynamisk sträng är det en bra praxis att välja StringBuilder klassen snarare än att gå med strängar med + eller Concat metoden eftersom varje + / Concat skapar ett nytt strängobjekt varje gång det körs.

+ Operatör

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

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

Sammanfoga strängar med System.Text.StringBuilder

Sammanfogning av strängar med en StringBuilder kan erbjuda prestandafördelar jämfört med enkel strängkoncatenation med + . Detta beror på hur minnet allokeras. Strängar fördelas om med varje sammanlänkning, StringBuilders tilldelar minne i block endast omfördelas när det aktuella blocket är uttömt. Detta kan göra en stor skillnad när du gör många små sammanlänkningar.

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 "

Calls to Append() kan vara daisy chained, eftersom det returnerar en referens till StringBuilder :

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

Concat sträng arrayelement med String.Join

Metoden String.Join kan användas för att sammanfoga flera element från en stränggrupp.

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

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

Tillverkar följande utgång: "orange, druva"

Detta exempel använder String.Join(String, String[], Int32, Int32) överbelastning, som anger startindex och räknar på toppen av separatorn och värdet.

Om du inte vill använda startIndex och räkna överbelastningar kan du gå med i alla angivna strängar. Så här:

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

som kommer att producera;

äpple, apelsin, druva, päron

Sammankoppling av två strängar med $

$ ger en enkel och kortfattad metod för att sammanfoga flera strängar.

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow