SkillsTest.pl C# pytania i zadania rekrutacyjne Jakie są różnice pomiędzy String a StringBuilder?

: 2017-09-24 | Nr 18 z 51

Pytanie

Jakie są różnice pomiędzy String a StringBuilder? C#

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ą.

Polecamy

Na co możesz wydać swoje 15k?

Zabawki dla dwulatka