title: Why does == for String variables returns true?
body: <p>With reference to this <a href="https://stackoverflow.com/questions/1069155/is-string-a-value-type-or-a-reference-type">question</a> why does the below code always returns true? [ c# Language ]</p>
  
  <pre><code>String a= "hello";
  String b= "hello";
  if(a==b)
  Console.WriteLine("Is it really reference type?");
  </code></pre>
  
  <p>Just want an explanation as to why here they behave as Value types and not reference types. Is there any MSDN documentation on this OR should I just memorize this exception OR is this completely logical but i'm not getting it? </p>
  
  <p>Detailed explanation appreciated.</p>