1 odpowiedź

Każdy obiekt typu String jest niezmienny. Oznacza to, że podczas edycji obiektu typu String, tworzony jest nowy obiekt wraz z uwzględnionymi zmianami a stary obiekt jest usuwany z pamięci. Z racji tego, że String jest typem referencyjnym, po edycji obiektu na stosie zmieniana jest referencja do obiektu utworzonego na stercie.

W przypadku pętli liczącej tysiące bądź setki tysięcy powtórzeń taka operacja przestaje być wydajna.

Wartość typu StringBuilder może być zmieniana dlatego właśnie ten typ powinien być używany w przypadku częstej zmiany wartości ciągu tekstowego. Dzięki temu operacje na ciągu tekstowym wykonywane będą szybciej i z większą wydajnością.

dependency 13-08-2018 01:48
brakuje mi tutaj informacji czym jest StringBuilder. klasa, struktura, typ prosty...?

ArunoxPl 27-08-2018 05:25
StringBuilder jest klasą dziediczącą po ISerializable. Klasa StringBuilder jest klasą publiczną ale nie można po niej dziedziczyć ponieważ posiada modyfikator typu seald.

Zaloguj się lub zarejestruj by dodać odpowiedź.


© 2019 - SkillsTest.pl | | Regulamin | Polityka Prywatnosci