Warum zeigt ein In-Scope-Objekt als "tot" in Visual Studio, wenn sie einen Heap-Schnappschuss durchführen?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Warum zeigt ein In-Scope-Objekt als "tot" in Visual Studio, wenn sie einen Heap-Schnappschuss durchführen?

Post by Anonymous »

Ich habe das folgende Beispielprogramm: < /p>
program.cs:

Code: Select all

internal class Program
{
private static void Main(string[] args)
{
var testObject = new ZZTest();

Console.ReadLine();
Console.WriteLine(testObject.ToString());
}

}
< /code>
zzTest.cs:
public class ZZTest
{
private string testString = "test";
}
Wenn ich einen Haltepunkt in dieser Zeile in der Methode Haupt lege:

Code: Select all

Console.ReadLine();
und machen Sie einen Heap -Snapshot, es zeigt das ZZTest -Objekt als tot ohne Referenzen (es wird nur angezeigt, es sei denn, ich überprüfe "tote Objekte"):
Frage: < /strong>
Da sich die Variable "testObject" zu diesem Zeitpunkt noch im Rahmen des Rahmens befindet und somit auf das Objekt immer noch verwiesen wird, warum sollte es sich als totes Objekt widerspiegeln? < /p>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post