È possibile utilizzare string.Format
far cadere i valori in stringhe:
private static readonly string formatString = "This is {0}overflow";
...
var strVar = "stack";
var myStr = string.Format(formatString, "stack");
Un'alternativa è quella di usare l'operatore di C# di concatenazione:
var strVar = "stack";
var myStr = "This is " + strVar + "overflow";
Se stai facendo un sacco di concatenazioni utilizzano la classe StringBuilder
che è più efficiente:
var strVar = "stack";
var stringBuilder = new StringBuilder("This is ");
for (;;)
{
stringBuilder.Append(strVar); // spot the deliberate mistake ;-)
}
stringBuilder.Append("overflow");
var myStr = stringBuilder.ToString();
fonte
2012-02-19 23:10:00
Sotto le coperte 'String.Format()' usa StringBuilder. StringBuilder è in genere più efficiente quando si concatenano molte stringhe, ma l'operatore di concatenazione è perfetto per uno. 'String.Format()' è utile quando la formattazione deve essere applicata all'output, ad es. aggiungere padding o zeri iniziali a valori numerici. Quindi l'uso di 'String.Format()' in un loop potenzialmente istanzia un sacco di StringBuilder. In questa situazione è meglio usare un singolo StringBuilder dichiarato al di fuori del ciclo e 'AppendFormat()' all'interno del ciclo. –