.NET Framework Immuabilité des cordes


Exemple

Les chaînes sont immuables. Vous ne pouvez pas changer la chaîne existante. Toute opération sur la chaîne crée une nouvelle instance de la chaîne ayant une nouvelle valeur. Cela signifie que si vous devez remplacer un seul caractère dans une chaîne très longue, la mémoire sera allouée pour une nouvelle valeur.

string veryLongString = ...
// memory is allocated
string newString = veryLongString.Remove(0,1); // removes first character of the string.

Si vous devez effectuer de nombreuses opérations avec une valeur de chaîne, utilisez la classe StringBuilder conçue pour une manipulation efficace des chaînes:

var sb = new StringBuilder(someInitialString);
foreach(var str in manyManyStrings)
{
    sb.Append(str);
} 
var finalString = sb.ToString();