Does the naming convention for ENUMs in C# usually have everything in UPPERCASE?
One should use Pascal case when they are typing enum types and values. This looks like
public enum Ati
{
Two = 0,
Three = 1,
Five = 2,
}
According to Microsoft:
Identifier | Case | Example
--------------------------------------------
Enumeration type | Pascal | ErrorLevel
Enumeration values | Pascal | FatalError
The only thing that you should make all caps like that are constant/final variables.
When you have local variables you should always use camel case.
thisIsCamelCasedVariable = "ya baby";
More about enums: https://msdn.microsoft.com/en-us/library/4x252001(v=vs.71).aspx
More about naming conventions C#: https://msdn.microsoft.com/en-us/library/ms229043%28v=vs.100%29.aspx
As already pointed out by Jamins answer:
In C# enumerations and their values should be named in PascalCasing
When you defining a 'simple' enum, for example just for enumerating the seasons of the year, you should use the singular, like:
public enum SeasonOfTheYear
{
Spring = 0,
Summer = 1,
Autumn = 2,
Winter = 3
}
If you want to define a so called 'flag enum', for example to define file permissions. You should use the plural, like:
[Flags]
public enum FilePermissions
{
None = 0,
X = 1,
W = 2,
R = 4
}
More Do and Don'ts from .NET Design-Guidelines - Names Of Classes, Structs and Interfaces:
Naming Enumerations
Names of enumeration types (also called enums) in general should follow the standard type-naming rules (PascalCasing, etc.). However, there are additional guidelines that apply specifically to enums.
✓ DO use a singular type name for an enumeration unless its values are bit fields.
✓ DO use a plural type name for an enumeration with bit fields as values, also called flags enum.
X DO NOT use an "Enum" suffix in enum type names.
X DO NOT use "Flag" or "Flags" suffixes in enum type names.
X DO NOT use a prefix on enumeration value names (e.g., "ad" for ADO enums, "rtf" for rich text enums, etc.).
For more information: C# Reference - Enumeration types
But these are just naming conventions and no laws. So not everyone sticks to it. So I suggest, within a project team or company you should commit yourself to a uniform naming convention. But you should not only define it, you also have to communicate it, so that it is clear to all developers.