C# キーワードと識別子:ルール、一覧、ベストプラクティス完全ガイド
C# キーワードと識別子
コードの構造と振る舞いを定義するビルディングブロック、C#キーワードと識別子の基礎をマスターしましょう。
C# キーワード
キーワードは、C#コンパイラが自分のために予約している事前定義済みの単語です。その意味は固定されており、変更できません。また、直接識別子として使用することもできません。
例:
long mobileNum;
ここでlongはキーワードで、long型の変数mobileNumを宣言しています。int、char、longなどのキーワードは、修正なしで変数名として使用できません。
long long;のようにキーワードを識別子として使用しようとすると、コンパイルエラーになります。C#には79個の予約キーワードがあり、すべて小文字です。完全な一覧は以下の通りです:
| abstract | as | base | bool |
| break | byte | case | catch |
| char | checked | class | const |
| continue | decimal | default | delegate |
| do | double | else | enum |
| event | explicit | extern | false |
| finally | fixed | float | for |
| foreach | goto | if | implicit |
| in | in (generic modifier) | int | interface |
| internal | is | lock | long |
| namespace | new | null | object |
| operator | out | out (generic modifier) | override |
| params | private | protected | public |
| readonly | ref | return | sbyte |
| sealed | short | sizeof | stackalloc |
| static | string | struct | switch |
| this | throw | true | try |
| typeof | uint | ulong | unchecked |
| unsafe | ushort | using | using static |
| void | volatile | while |
キーワードは@をプレフィックスとして付けることで識別子として使用可能です:
int @void;
これはint型の変数@voidを宣言します。
コンテキストキーワード
予約キーワードに加え、C#には25個のコンテキストキーワードが定義されています。これらは特定の文脈でのみ特別な意味を持ち、それ以外では通常の識別子として機能します。
| add | alias | ascending |
| async | await | descending |
| dynamic | from | get |
| global | group | into |
| join | let | orderby |
| partial (type) | partial (method) | remove |
| select | set | value |
| var | when (filter condition) | where (generic type constraint) |
| yield |
各キーワードの詳細については公式ドキュメントを参照してください:C# Keywords。
C# 識別子
識別子は、変数、メソッド、クラス、その他のプログラム要素に名前を付けるものです。スコープ内で各要素を一意に区別します。
例:
int value;
ここでvalueは識別子です。@プレフィックスなしで予約キーワードを使用しようとすると(例:int break;)、コンパイル時エラーになります。
詳細はC# Variablesを参照してください。
識別子命名規則
- C#キーワードであってはなりません。
- 文字、アンダースコア(
_)、または@シンボルで始まる必要があります。以降の文字は文字、数字、アンダースコアが使用可能です。 - 空白文字やその他の記号(例:
$)は使用できません。 - 識別子は大文字小文字を区別します:getName、GetName、getnameは別物です。
有効・無効な識別子の例:
| 識別子 | 備考 |
|---|---|
| number | 有効 |
| calculateMarks | 有効 |
| hello$ | 無効($を含む) |
| name1 | 有効 |
| @if | 有効(キーワードに@プレフィックス) |
| if | 無効(C#キーワード) |
| My name | 無効(空白を含む) |
| _hello_hi | 有効 |
例:プログラムからキーワードと識別子を抽出
シンプルなHello Worldプログラムを調べ、キーワードと識別子を特定してみましょう。
using System;
namespace HelloWorld
{
class Hello
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
このスニペットのキーワード・識別子ペア:
| キーワード | 識別子 |
|---|---|
| using | System |
| namespace | HelloWorld |
| class | Hello |
| static | Main |
| void | args |
| string | Console |
| WriteLine |
文字列リテラル「Hello World!」はWriteLineに渡されます。
C言語
- サーモグラフィー解説:赤外線撮像が温度変化を検知する仕組み
- メンテナンス作業効率化のための拡張現実活用
- C# 演算子の優先順位と結合規則をマスターする:実践ガイド
- C# while 文と do-while 文をマスターする:構文、例、ベストプラクティス
- C#プリプロセッサディレクティブ完全ガイド:条件付きコンパイルと診断制御
- C++変数・リテラル・定数完全ガイド:基礎から実践まで
- C言語キーワードと識別子:実践ガイド
- C言語while/do-whileループ完全マスター:実践例付き
- C言語の定数とリテラル:型、使い方、ベストプラクティス
- C#の定数とリテラル:型、ルール、ベストプラクティス完全ガイド
- Python キーワードと識別子: 予約語と命名規則をマスター