C# String Performanz – Macht Optimierung Sinn?

Hi,

Worum geht es hier?

String sind Zeichenketten in Programmiersprachen. Ein wichtiger Aspekt bei C# (und einigen anderen Sprachen) ist, das Strings immutable (unveränderlich) sind.

Was kann man sich darunter vorstellen?

Ein String ist eine Zeichenkette, z.B. “Hallo”. Intern wird der String in einem zusammenhängendem Datenbereich, einem Array, als einzelne Zeichen gespeichert. Hallo ist also [‘H’,’a’,’l’,’l’,’o’]. Möchte man einen String mit einem anderen verknüpften, so kann dies nicht im gleichen Array passieren (es ist ja schon sozusagen “voll”). Je nach Technik wird im Normalfall das Array in ein neues Array umkopiert, welches genug Platz für den neuen String bietet.
weiterlesen →