Strings zijn onveranderlijk
Home

Strings zijn onveranderlijk

Strings zijn onveranderlijk

Een keer een string gemaakt is kan je die niet meer veranderen. Je kan ze niet langer of korter maken en je kan geen enkele van de karakters ervan wijzigen.

Behoudsgezinde strings

Dat biedt enkele voordelen. Je kan de string manipuleren zonder dat de inhoud ervan verandert.

String file = @"F:\Cursussen\ASP.NET\Ajax\MAFc\js";
if (file.ToUpperInvariant().Substring(10, 12).EndsWith("EXE")
{
}

De ToUpperVariant methode retourneert een nieuwe string en wijzigt de karakters in file string niet. De nieuwe string wordt dan geïnspecteerd door EndsWidth. De twee tijdelijke strings die door ToUpperVariant en EndsWidth worden gecreëerd zijn geen lang leven beschoren en de 'garbage collector' zal het geheugen bij de eerst volgende ophaalronde weer vrij maken.

Maar elk voordeel heeft ook zijn nadeel. Als je een hele reeks stringbewerkingen moet uitvoeren worden een hele hoop string objecten op de heap gecreëerd waardoor de 'garbage collector' meerdere keren zal moeten uitrijden. In dat geval kan je dan beter de klasse System.Text.StringBuilder gebruiken.

JI
2016-10-27 14:19:36