Ja, das ist wahrscheinlich durch die Historie begründet. Mir gefällt die Transparenz, die du beschreibst, auch deutlich besser.

Allerdings ist der Unterschied zwischen structs und classes in C# ja auch der, dass das ganze Ding kopiert wird, wenn du es einer neuen Variable zuweist. Das muss man mögen, oder wollen - ich finds ätzend, lieber ruf ich clone() auf oder verwende einen Kopierkonstruktor. Daher sind structs auch nur für kleine Datensätze gedacht, die als unveränderlich gedacht sind, wie z.B. wenn du Argumente für einen Methodenaufruf kapselst oder einen komplexen Wert zurückgibst.

Letztendlich hast du Recht, wenn du das Handling der primitives von C# und Java beurteilst. Aber sich daran aufzuhängen ist, finde ich, etwas kleinlich wink

Last edited by HeelX; 01/18/13 13:24.