title: C# - Advantages for using properties v. fields
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/295104/what-is-the-difference-between-a-field-and-a-property-in-c">What is the difference between a field and a property in C#?</a><br>
    <a href="https://stackoverflow.com/questions/653536/difference-between-property-and-field-in-c-sharp-net-3-5">Difference between Property and Field in C# .NET 3.5+</a>  </p>
  </blockquote>
  
  
  
  <p>Some time ago I inherited a C# web app wherein most class members that <em>could be fields</em> are defined as properties in one of the following two manners:</p>
  
  <pre><code>private Guid id;
  public Guid Id
  {
    get { return id; }
    set { id = value; }
  }
  
  public int someValue{ get; set; }
  </code></pre>
  
  <p>Namely, the getters/setters don't do anything other than ferry a value to/from a private field. In these cases, is there an advantage [or justification] for building these members out as properties vs. fields? And vice versa?</p>
  
  <p>Would I be violating any unspoken rules or best practices by changing them to fields? Is there a notable performance difference -- for instance, incrementing <code>someValue</code> for a list of N objects one way or the other? (My current understanding is that field access is necessarily less complex [and efficient].)</p>