Immutability of strings
suggest changeStrings are immutable. You just cannot change existing string. Any operation on the string crates a new instance of the string having new value. It means that if you need to replace a single character in a very long string, memory will be allocated for a new value.
string veryLongString = ... // memory is allocated string newString = veryLongString.Remove(0,1); // removes first character of the string.
If you need to perform many operations with string value, use StringBuilder
class which is designed for efficient strings manipulation:
var sb = new StringBuilder(someInitialString); foreach(var str in manyManyStrings) { sb.Append(str); } var finalString = sb.ToString();
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents