110,536
社区成员
发帖
与我相关
我的任务
分享
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Person b = new Person("张三");
b = new Person("李四");
}
}
class Person
{
string Name;
public Person(string s)
{
Name = s;
}
}
在Button的单击中,new了2个Person对象,但是在诊断工具中,一个Person对象都没有搜到,是不是意味着Person对象都被GC回收了。这里为什么要回收呢,第二个对象应该是存在的啊
class Person
{
string Name;
public Person(string s)
{
Name = s;
}
}
class Program
{
static void Main(string[] args)
{
Person b = new Person("张三");
b = new Person("李四");
Console.ReadKey();
}
}
类似于上面这种,有一个Person对象被回收了,有一个没有回收,在快照里面能搜出来
那按照你的说法,搜索不到代表被回收,那这里的Person对象就没有被回收哦