title: In C#, do all static variables get initialized before the main() method is called?
body: <p>The ones I am particularly concerned about are:</p>
  
  <ul>
  <li>static variables in classes that are defined in referenced/dependency classes, contained in external DLLs. In my example, none of the types in that third party assembly is reference until later in the program. (let's say 5 min into execution).</li>
  </ul>
  
  <p>Will the static variables of that third-party assembly only be loaded then?</p>
  
  <p>Thanks,
  rui</p>