Al igual que en cualquier
lenguaje de programación, en C# un identificador
no es más que, como su propio nombre indica, un nombre con el que
identificaremos algún elemento de nuestro código, ya sea una clase, una variable,
un método, etc.
Típicamente el nombre de un
identificador será una secuencia de cualquier número de caracteres
alfanuméricos –incluidas vocales acentuadas y eñes- tales que el primero de
ellos no sea un número. Por ejemplo, identificadores válidos serían: Arriba, caña, C3P0, áëÎò,
etc; pero no lo serían 3com, 127, etc.
Sin embargo, y aunque por motivos
de legibilidad del código no se recomienda, C# también permite incluir dentro
de un identificador caracteres especiales imprimibles tales como símbolos de
diéresis, subrayados, etc. siempre y cuando estos no tengan un significado
especial dentro del lenguaje. Por ejemplo, también serían identificadores
válidos, _barco_, c¨k y A·B;
pero no C# (# indica inicio de
directiva de preprocesado) o a!b (!
indica operación lógica “not”)
Finalmente, C# da la posibilidad
de poder escribir identificadores que incluyan caracteres Unicode que no se
puedan imprimir usando el teclado de la máquina del programador o que no sean
directamente válidos debido a que tengan un significado especial en el
lenguaje. Para ello, lo que permite es escribir estos caracteres usando secuencias de escape, que no son más
que secuencias de caracteres con las sintaxis:
\u<dígito><dígito><dígito><dígito>
ó \U<dígito><dígito><dígito><dígito><dígito><dígito><dígito><dígito>
Estos dígitos indican es el
código Unicode del carácter que se desea incluir como parte del identificador,
y cada uno de ellos ha de ser un dígito hexadecimal válido. (0-9,
a-f
ó A-F)
Hay que señalar que el carácter u ha de escribise en minúscula cuando se indiquen
caracteres Unicode con 4 dígitos y en mayúscula cuando se indiquen con
caracteres de ocho. Ejemplos de
identificadores válidos son C\u0064 (equivale
a C#, pues 64 es el código de #
en Unicode) ó a\U00000033b (equivale
a a!b)