Ricerca…


Osservazioni

Se stai creando una stringa dinamica, è buona norma optare per la classe StringBuilder piuttosto che unire stringhe usando il metodo + o Concat poiché ogni + / Concat crea un nuovo oggetto stringa ogni volta che viene eseguito.

+ Operatore

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

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

Concatena le stringhe usando System.Text.StringBuilder

La concatenazione di stringhe utilizzando uno StringBuilder può offrire vantaggi in termini di prestazioni rispetto alla semplice concatenazione di stringhe usando + . Ciò è dovuto al modo in cui la memoria è allocata. Le stringhe sono riallocate con ogni concatenazione, StringBuilders alloca la memoria nei blocchi solo riallocando quando il blocco corrente è esaurito. Questo può fare una grande differenza quando si fanno molte piccole concatenazioni.

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 "

Le chiamate a Append() possono essere collegate in cascata, in quanto restituisce un riferimento a StringBuilder :

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

Elementi dell'array stringa Concat che utilizzano String.Join

Il metodo String.Join può essere utilizzato per concatenare più elementi da una matrice di stringhe.

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

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

Produce il seguente output: "orange, grape"

Questo esempio utilizza il String.Join(String, String[], Int32, Int32) , che specifica l'indice iniziale e il conteggio in cima al separatore e al valore.

Se non si desidera utilizzare startIndex e contare sovraccarichi, è possibile unire tutte le stringhe fornite. Come questo:

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

che produrrà;

mela, arancia, uva, pera

Concatenazione di due stringhe usando $

$ fornisce un metodo semplice e conciso per concatenare più stringhe.

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow