In Java sind Strings unveränderlich. Wenn wir einen String und Änderungen daran vornehmen müssen, erhalten wir neue Zeichenfolge mit dem gleichen Variable verwiesen:C# unveränderlich int
String str = "abc";
str += "def"; // now str refers to another piece in the heap containing "abcdef"
// while "abc" is still somewhere in the heap until taken by GC
It's been said, die int und double sind in C# unveränderlich. Bedeutet es, dass wir, wenn wir int haben und es später ändern, einen neuen int durch die gleiche Variable "zeigen" würden? Die gleiche Sache, aber mit Stapel.
int i = 1;
i += 1; // same thing: in the stack there is value 2 to which variable
// i is attached, and somewhere in the stack there is value 1
Ist das korrekt? Wenn nicht, auf welche Weise ist int unveränderlich?
Der Vollständigkeit halber sind .NET-Zeichenfolgen ebenfalls unveränderbar. –