title: How to Subtract Bytes on One Line in C#
body: <p>This is really odd.  Can anyone explain this?</p>
  
  <p>This code does NOT work:</p>
  
  <pre><code>const byte ASC_OFFSET = 96;
  string Upright = "firefly";
  byte c7 = (byte)Upright[6] - ASC_OFFSET;
  //Cannot implicitly convert type 'int' to 'byte'.
  </code></pre>
  
  <p>This code also does NOT work:</p>
  
  <pre><code>const byte ASC_OFFSET = 96;
  string Upright = "firefly";
  byte c7 = (byte)Upright[6] - (byte)ASC_OFFSET;
  //Cannot implicitly convert type 'int' to 'byte'.
  </code></pre>
  
  <p>Yet, putting the subtraction on a separate line works just fine:</p>
  
  <pre><code>const byte ASC_OFFSET = 96;
  string Upright = "firefly";
  byte c7 = (byte)Upright[6];
  c7 -= ASC_OFFSET;
  </code></pre>
  
  <p>I don't mind putting the statements on separate lines, if I have to... but I have to wonder...</p>
  
  <p><strong>Why?</strong></p>