Warum erstellt .NET neue Teilzeichenfolgen, anstatt auf vorhandene Zeichenfolgen zu verweisen?

Auf den ersten Blick sieht es mit Reflector so ausString.Substring() reserviert Speicher für jeden Teilstring. Habe ich recht, dass dies der Fall ist? Ich dachte, das wäre nicht nötig, da die Zeichenfolgen unveränderlich sind.

Mein zugrunde liegendes Ziel war es, eineIEnumerable<string> Split(this String, Char) Erweiterungsmethode, die keinen zusätzlichen Speicher zuweist.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage