title: Byte enum comparison in C#
body: <p>Given this enum</p>
  
  <pre><code>public enum UserStatus : byte
  {
      Approved = 1,
      Locked = 2,
      Expire = 3
  }
  </code></pre>
  
  <p>why does this check always return false when <code>usr.Status = 1</code></p>
  
  <pre><code>if(usr.Status.Equals(UserStatus.Approved))
      return true;
  return false;
  </code></pre>
  
  <p>The comparison seems to work - there is no compile time error or runtime exception. Please note I am not the author of this piece of code and would like to find out why the author chose enum of type <code>byte</code> and why this doesn't work as it should.</p>