带有字段或成员变量的C#内存泄漏

带有字段或成员变量的C#内存泄漏,c#,C#,我有一个对象B,它通过它的构造函数接受一个对象C。 现在,C在A的构造函数中创建,并设置为字段/成员变量。 在A中,我创建B的多个实例并将它们插入列表中。 后来我清除了这个列表。。。。。。。。。我的问题是我是否有内存泄漏,因为C在a中仍然存在,a当然也存在 感谢C#具有自动垃圾收集功能,因此框架将发现其中一个对象何时不再使用,并将释放未使用对象的内存 如果您在清除B列表时询问对象C是否也被取消分配,我打赌不会发生,因为您仍然通过a的属性(字段)对其进行引用。C具有自动垃圾收集功能,因此,框架将发

我有一个对象B,它通过它的构造函数接受一个对象C。 现在,C在A的构造函数中创建,并设置为字段/成员变量。 在A中,我创建B的多个实例并将它们插入列表中。 后来我清除了这个列表。。。。。。。。。我的问题是我是否有内存泄漏,因为C在a中仍然存在,a当然也存在

感谢

C#具有自动垃圾收集功能,因此框架将发现其中一个对象何时不再使用,并将释放未使用对象的内存

如果您在清除B列表时询问对象C是否也被取消分配,我打赌不会发生,因为您仍然通过a的属性(字段)对其进行引用。

C具有自动垃圾收集功能,因此,框架将发现其中一个对象何时不再使用,并将释放未使用对象的内存


如果您在清除B列表时询问对象C是否也被取消分配,我敢打赌这不会发生,因为您仍然通过a的属性(字段)对其进行引用。

这就像通过调用dokter询问“我的腿断了吗?”。请出示一些代码。使用。测量就是知道。这就像打电话给医生问“我的腿断了吗?”。请出示一些代码。使用。度量就是知道。我在问是否从内存中删除了B。@Andy如果你的对象不包含本机类型,GC将删除每个对象。@Andy,所有不再引用的对象都将被垃圾收集器删除。也就是说,如果您有对该Bs列表的引用,它们将不会被取消分配。如果您只引用了一个B,所有未被引用的B都将被取消分配。我询问是否从内存中删除了B。@Andy如果您的对象不包含本机类型,则GC将删除所有对象。@Andy,所有不再被引用的对象都将被垃圾收集器删除。也就是说,如果您有对该Bs列表的引用,它们将不会被取消分配。如果您只引用了一个B,那么所有未引用的B都将被取消分配。