&gt; You can do exactly what java calls enums with classes in C#<p>No you cannot. You lose the single biggest benefit of enumerations - namely compile-time checking. (For instance: warning when a switch statement does not cover all cases.)<p>Try to do this in C#, and you&#x27;ll see what I mean: <a href="http:&#x2F;&#x2F;snipplr.com&#x2F;view&#x2F;42422&#x2F;the-planet-enum-example&#x2F;" rel="nofollow">http:&#x2F;&#x2F;snipplr.com&#x2F;view&#x2F;42422&#x2F;the-planet-enum-example&#x2F;</a>. Either you end up with it being ~3x as verbose (if not more), or you lose the compile-time benefits, or both.