Das ist, was ich meine:in C# Wird der Speicher bei der Rückgabe eines Strings aus einer Funktion freigegeben?
class mycalss
{
string myfunc()
{
string str="hello";
return str;
}
}
...
static void main()
{
string str2;
str2=myfunc();
...
...
}
In diesem Fall besteht die Gefahr, dass der Garbage Collector den Inhalt str2 löschen könnte, da str out of scope ging?
Nein - sie sind beide Referenzen auf das gleiche String-Objekt. Es kopiert die * Referenz * nicht die Zeichenkette. –
Danke für die Ausbildung – cjk