title: What's the different between ldsfld and ldstr in IL?
body: <p>I've read some article about String.Empty vs "" and I also do test by my self. Different between them are below.</p>
  
  <p>String.Empty</p>
  
  <pre><code>L_0001: ldsfld string [mscorlib]System.String::Empty
  </code></pre>
  
  <p>""</p>
  
  <pre><code>L_0001: ldstr ""
  </code></pre>
  
  <p>After I talk with my friends they argue that String.Empty is faster than "" because under the hood (at assembly level) ldstr do more 1 circle than ldsfld. (I can't remember steps that make them different)</p>
  
  <p>I want to know how can I check about this aspect of performance.</p>