識別子とは、変数・メソッド・引数などプログラム上の要素に名前を付けるための文字列のことです。意味の通じる英単語を組み合わせて記述すると、コード自身が説明文となるセルフドキュメンティングコードになります(例:PlayersHand、SocialSecurityNum)。
簡単に言うと識別子とは、変数やメソッド、プロパティなどに割り当てる名前の総称です。名前は適当に決められず、定められたルールに従う必要があります。人間の氏名に命名ルールが存在するのと同じ考え方です。
命名に使用できる文字のルール
| 位置 | 使用可能文字 | 禁止文字 | 補足説明 |
|---|---|---|---|
| 先頭文字 | 小文字a-z、大文字A-Z、アンダースコア_、@ | 数字 0-9 | @は先頭に限って利用可。通常の開発では推奨されない |
| 2文字目以降 | 小文字a-z、大文字A-Z、アンダースコア_、数字 0-9 | @ | 文字列の途中または末尾に@を記載してはならない |

正しい識別子一覧
userName
PlayerScore
_totalMoney
Age
StudentID
maxHP
OrderList
isLogin
_apple
_123Rate
_UserInfo
@int
@class
@string
@whileCode language: JavaScript (javascript)
ルール違反の識別子一覧
先頭に数字を使用
99Game
123Name
途中/末尾に @ 記号を含む
0user
user@Name
score@
my@var
下記はC#の予約語をそのまま使用
int
class
static
void
許可されていない特殊記号を含む
user name
student#id
money&numCode language: PHP (php)
大文字小文字を区別する
識別子は英字の大文字と小文字を区別します。例は下記の通りです:
int totalMovieCount;
int TotalMovieCount;
int TotalmovieCount;
この3行は完全に別の変数として扱われます。文法上は問題ありませんが、混同を招きやすいため記述を避けるべきです。
コード例
// See https://aka.ms/new-console-template for more information
using System;
Console.WriteLine("Hello, World!");
int totalMovieCount;
int TotalMovieCount;
int TotalmovieCount;
// ========== 1. ルール違反の識別子(コンパイルエラー発生) ==========
// 1. 先頭が数字
int 99Game;
string 123Name;
double 0user;
// 2. 文字列途中または末尾に@が含まれる
int user@Name;
float score@;
bool my@var;
// 3. @によるエスケープなしでC#予約語を直接使用
int int;
string class;
double static;
void void;
// 4. 半角スペース、#、&など不正な特殊記号を含む
int user name;
string student#id;
decimal money#
// ========== 2. ルール通りの識別子(正常にコンパイル) ==========
// 標準的な推奨記法(@不使用、可読性が高い)
int userName;
int PlayerScore;
float _totalMoney;
bool isLogin;
string StudentID;
// 文法上は許可されるが推奨しない(@で予約語をエスケープ、特殊な場面のみ利用)
int @int;
string @class;
double @static;
void @void;
Code language: PHP (php)

Previous: Visual Studio 2022による新規プロジェクト作成手順
Next: キーワード