Dann kommen da noch Verwalltungsdinge hinzu. zB der pointer auf den string, und die längenangabe. Ein string ist immer mindestens 20 bytes groß.
das hört sich jetzt ziemlich inperformant an, ABER .net besitzt intern einen String pool. Wenn man zweimal die selbezeichenfolge in zwei Objekte packt, verweisen sie intern auf die selben Daten. Da strings in .net immutable sind, ist das auch kein Problem.
Strings sind so ziemlich das komplizierteste was es in .net gibt
Sehr interessant ist dazu dieser Artikel:
csharpindepth.com/Ar...General/Strings.aspx