2014-11-15 59 views
3

我看到一些一書中寫道代碼INT以下樣式:類參考和GC週期在C#

Dictionary<string,SomeClass> dict = new Dictionary<string,SomeClass>(); 
...  
dict.Add(key,someClass);  
...  
dict[key] = null;  
dict.Remove(key); 

我不知道是否有必要的dict[key] = null;。這是否意味着通知GC? 但這someClass是無處引用, 它是多餘的?

回答

7

是的,這是多餘的。如果您要刪除密鑰,則無需先將條目更改爲空值。對任何地方的垃圾收集都沒有影響。

+0

謝謝。如果一個父母的班級被處置,那麼在這之前是否有必要處置其子女? –

+0

@Sean:如果他們實施IDisposable,那麼是的,他們應該被處置......假設「父母」承擔了他們生命週期的責任。 –