title: Enum of long values in C#
body: <p>Why does this declaration,</p>
  <pre><code>public enum ECountry : long
  {
      None,
      Canada,
      UnitedStates
  }
  </code></pre>
  <p>require a cast for any of its values?</p>
  <pre><code>long ID = ECountry.Canada;
  // Error Cannot implicitly convert type 'ECountry' to 'long'.
  // An explicit conversion exists (are you missing a cast?)
  </code></pre>
  <p>And is there a way to get a long value directly from the enum, besides casting?</p>
  <p>This would not work either, for example:</p>
  <pre><code>public enum ECountry : long
  {
      None = 0L,
      Canada = 1L,
      UnitedStates=2L
  }
  </code></pre>