title: How to destroy C# data like Dictionary<string, List<Action<object>>>?
body: <p>I defined an object like <code>Dictionary&lt;string, List&lt;Action&lt;object&gt;&gt;&gt;</code> to store some delegate methods to invoke. If I wanna destroy this Dictionary. Should I need to call <code>List.Clear()</code> first in Dictionary? Or just call <code>Dictionary.Clear</code> will be ok?</p>
  
  <p>This one:</p>
  
  <pre><code>foreach(KeyValuePair&lt;string, List&lt;Action&lt;object&gt;&gt;&gt; kvp in dict)
  {
     kvp.Value.Clear();
  }
  
  dict.Clear();
  dict = null;
  </code></pre>
  
  <p>Or this one:</p>
  
  <pre><code>dict.Clear();
  dict = null;
  </code></pre>