An identifier is the name you assign to a type (class, interface, struct, delegate, or enum), member, variable, or namespace. Valid identifiers must follow these rules:
- Identifiers must start with a letter, or
- Identifiers may contain Unicode letter characters, decimal digit characters, Unicode connecting characters, Unicode combining characters, or Unicode formatting characters. For more information on Unicode categories, see the Unicode Category Database.
You can declare identifiers that match C# keywords by using the
@prefix on the identifier. The
@is not part of the identifier name. For example,
@ifdeclares an identifier named
if. These verbatim identifiers are primarily for interoperability with identifiers declared in other languages.
For a complete definition of valid identifiers, see the Identifiers topic in the C# Language Specification.
In addition to the rules, there are a number of identifier naming conventions used throughout the .NET APIs. By convention, C# programs use
PascalCase for type names, namespaces, and all public members. In addition, the following conventions are common:
- Interface names start with a capital
- Attribute types end with the word
- Enum types use a singular noun for non-flags, and a plural noun for flags.
- Identifiers should not contain two consecutive
_characters. Those names are reserved for compiler generated identifiers.
C# Language Specification
For more information, see the C# Language Specification. The language specification is the definitive source for C# syntax and usage.