title: When should you use a field rather than a property?
body: <p>Can anyone clearly articulate when you use a field and when to use a property in class design?</p>
  
  <p>Consider:</p>
  
  <pre><code>public string Name;
  </code></pre>
  
  <p>Or:</p>
  
  <pre><code>private string _Name;
  public string Name
  {
     get { return _Name; }
     set { _Name = value; }
  }
  </code></pre>
  
  <p>I realize that the second method is more proper and flexible, so that's what I try to use, generally.</p>
  
  <p>But then why do I see people use the first method?  Are they just lazy, or is there some specific situation where it's the correct choice?  Is it just a matter of preference?</p>