Integrale Typen haben die wichtige Eigenschaft, als Ganzes vom Prozessor in einem Zug zugänglich zu sein. Dies ist nicht der Fall für eine Zeichenfolge, die aus Tausenden von Bytes bestehen kann. Daher wurde in allen Sprachen immer auf Strings verwiesen, weil der Computer dies nicht anders kann.
In einer Objektsprache wie C# ist es üblich, eine Klasse zu erstellen, die auf einen Speicherort verweist: Genau darum geht es bei einem Objekt.
Also ja, Zeichenfolgen sind Klassen, weil sie keine integralen Typen sein können.
Das ist ein Duplikat von [In C#, warum ist String ein Referenztyp, der sich wie ein Werttyp verhält?] (Http://stackoverflow.com/questions/636932/in-c-why-is-string-a- reference-type-verhält sich-wie-ein-Wert-Typ). Kurze Antwort: Wir möchten, dass es ein Werttyp ist, aber es muss auf dem Heap zugewiesen werden, da seine Größe sehr groß sein kann. –