title: What is the difference between a reference type and value type in c#?
body: <p>Some guy asked me this question couple of months ago and I couldn't explain it in detail. What is the difference between a reference type and a value type in C#?</p>
  
  <p>I know that value types are <code>int</code>, <code>bool</code>, <code>float</code>, etc and reference types are <code>delegate</code>, <code>interface</code>, etc. Or is this wrong, too?</p>
  
  <p>Can you explain it to me in a professional way?</p>