C# c中的类引用和GC循环#
我看到有人用以下风格编写代码:C# c中的类引用和GC循环#,c#,garbage-collection,C#,Garbage Collection,我看到有人用以下风格编写代码: Dictionary<string,SomeClass> dict = new Dictionary<string,SomeClass>(); ... dict.Add(key,someClass); ... dict[key] = null; dict.Remove(key); Dictionary dict=new Dictionary(); ... dict.Add(key,someClass
Dictionary<string,SomeClass> dict = new Dictionary<string,SomeClass>();
...
dict.Add(key,someClass);
...
dict[key] = null;
dict.Remove(key);
Dictionary dict=new Dictionary();
...
dict.Add(key,someClass);
...
dict[key]=null;
删除指令(键);
我想知道dict[key]=null代码>必要。这是否意味着通知总承包商?
但是,someClass
没有其他地方被引用,
它是多余的吗?是的,它是多余的。如果无论如何都要删除该键,那么没有必要先将条目更改为空值。这对任何地方的垃圾收集都没有影响。谢谢。如果一个父类正在被释放,那么在此之前是否有必要释放它的子类(在其他引用的地方没有)呢?@Sean:如果它们实现了IDisposable,那么是的,它们应该被释放。。。假设“家长”已经承担了其生命周期的责任。