C# Language
Onveranderlijkheid
Zoeken…
System.String-klasse
In C # (en .NET) wordt een string voorgesteld door de klasse System.String. Het string
sleutelwoord is een alias voor deze klasse.
De klasse System.String is onveranderlijk, dat wil zeggen dat de status na het aanmaken niet meer kan worden gewijzigd.
Dus alle bewerkingen die u uitvoert op een string zoals Substring, Verwijderen, Vervangen, aaneenschakeling met behulp van +
operator enz. Zullen een nieuwe string maken en deze retourneren.
Zie het volgende programma voor demonstratie -
string str = "mystring";
string newString = str.Substring(3);
Console.WriteLine(newString);
Console.WriteLine(str);
Hiermee worden respectievelijk string
en mystring
.
Tekenreeksen en onveranderlijkheid
Onveranderlijke typen zijn typen die bij wijziging een nieuwe versie van het object in het geheugen maken, in plaats van het bestaande object in het geheugen te wijzigen. Het eenvoudigste voorbeeld hiervan is het ingebouwde string
.
Neem de volgende code, die "wereld" toevoegt aan het woord "Hallo"
string myString = "hello";
myString += " world";
Wat er in dit geval in het geheugen gebeurt, is dat een nieuw object wordt gemaakt wanneer u toevoegt aan de string
op de tweede regel. Als u dit doet als onderdeel van een grote lus, kan dit leiden tot prestatieproblemen in uw toepassing.
Het veranderlijke equivalent voor een string
is een StringBuilder
De volgende code gebruiken
StringBuilder myStringBuilder = new StringBuilder("hello");
myStringBuilder.append(" world");
Wanneer u dit uitvoert, wijzigt u het StringBuilder
object zelf in het geheugen.