Um identificador é uma sequência de caracteres usada para nomear elementos do programa, como variáveis, métodos e parâmetros. Recomenda-se unir palavras em inglês com significado para criar um código autoexplicativo (exemplos: PlayersHand, SocialSecurityNum).
Basicamente, os identificadores são os nomes atribuídos a variáveis, métodos, propriedades e outros componentes. Esses nomes não podem ser criados aleatoriamente e devem seguir regras definidas, assim como os nomes de pessoas respeitam normas civis.
Regras de caracteres para nomenclatura
| Posição | Caracteres permitidos | Caracteres proibidos | Observações complementares |
|---|---|---|---|
| Primeiro caractere | Minúsculas a-z, maiúsculas A-Z, sublinhado _, @ | Números 0-9 | @ só pode ser usado no início, não é recomendado no desenvolvimento comum |
| Caracteres seguintes | Minúsculas a-z, maiúsculas A-Z, sublinhado _, números 0-9 | @ | O símbolo @ não pode aparecer no meio nem no final |

Identificadores válidos
userName
PlayerScore
_totalMoney
Age
StudentID
maxHP
OrderList
isLogin
_apple
_123Rate
_UserInfo
@int
@class
@string
@whileCode language: JavaScript (javascript)
Identificadores inválidos
Primeiro caractere numérico
99Game
123Name
Símbolo @ no meio / no final
0user
user@Name
score@
my@var
Palavras-chave padrão do C# usadas diretamente
int
class
static
void
Contém símbolos especiais ilegais
user name
student#id
money&numCode language: PHP (php)
Diferenciação entre maiúsculas e minúsculas
Os identificadores diferenciam letras maiúsculas e minúsculas. Veja os exemplos:
int totalMovieCount;
int TotalMovieCount;
int TotalmovieCount;
As três linhas representam variáveis totalmente distintas. A sintaxe é aceitável, mas essa escrita causa confusão e deve ser evitada.
Exemplo de código completo
// See https://aka.ms/new-console-template for more information
using System;
Console.WriteLine("Hello, World!");
int totalMovieCount;
int TotalMovieCount;
int TotalmovieCount;
// ========== 1. Identificadores inválidos (erro na compilação) ==========
// 1. Começa com número
int 99Game;
string 123Name;
double 0user;
// 2. Possui @ no meio ou no final
int user@Name;
float score@;
bool my@var;
// 3. Uso direto de palavras reservadas do C# sem escape @
int int;
string class;
double static;
void void;
// 4. Espaços, #, & e outros símbolos não permitidos
int user name;
string student#id;
decimal money#
// ========== 2. Identificadores válidos (compila sem erros) ==========
// Padrão recomendado (sem @, organizado e legível)
int userName;
int PlayerScore;
float _totalMoney;
bool isLogin;
string StudentID;
// Sintaticamente válido mas não recomendado (palavras reservadas escapadas com @, apenas para cenários especiais)
int @int;
string @class;
double @static;
void @void;
Code language: HTML, XML (xml)
