識別子名Identifier names

識別子は、型 (クラス、インターフェイス、構造体、デリゲート、列挙型)、メンバー、変数、名前空間に割り当てる名前です。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 _.
  • 識別子には、Unicode 文字、10 進数文字、Unicode 接続文字、Unicode 結合文字、Unicode 書式設定文字を含めることができます。Identifiers may contain Unicode letter characters, decimal digit characters, Unicode connecting characters, Unicode combining characters, or Unicode formatting characters. Unicode カテゴリの詳細については、Unicode カテゴリ データベースに関するページを参照してください。For more information on Unicode categories, see the Unicode Category Database. 識別子で @ プレフィックスを使用することで、C# キーワードに一致する識別子を宣言できます。You can declare identifiers that match C# keywords by using the @ prefix on the identifier. @ は識別子名の一部ではありません。The @ is not part of the identifier name. たとえば、@if の場合、if という名前の識別子が宣言されます。For example, @if declares an identifier named if. このような逐語的識別子は主に、他の言語で宣言された識別子との相互運用性のために使用されます。These verbatim identifiers are primarily for interoperability with identifiers declared in other languages.

有効な識別子の完全な定義は、C# 言語仕様の「Identifiers」 (識別子) トピックにあります。For a complete definition of valid identifiers, see the Identifiers topic in the C# Language Specification.

名前付け規則Naming conventions

規則に加え、.NET API 全体で使用されるさまざまな識別子命名規則があります。In addition to the rules, there are a number of identifier naming conventions used throughout the .NET APIs. 慣例により、C# プログラムでは、型名、名前空間、すべてのパブリック メンバーに PascalCase が使用されます。By convention, C# programs use PascalCase for type names, namespaces, and all public members. また、次の規則が一般的です。In addition, the following conventions are common:

  • インターフェイス名は大文字 I で始まります。Interface names start with a capital I.
  • 属性型は Attribute という単語で終わります。Attribute types end with the word Attribute.
  • 列挙型では、フラグ以外に単数名詞が使用され、フラグに複数名詞が使用されます。Enum types use a singular noun for non-flags, and a plural noun for flags.
  • 識別子には、連続する 2 つの _ 文字を含めないでください。Identifiers should not contain two consecutive _ characters. このような文字は、コンパイラで生成される識別子のために予約されています。Those names are reserved for compiler generated identifiers.

C# 言語仕様C# Language Specification

詳細については、「C# 言語の仕様」を参照してください。For more information, see the C# Language Specification. 言語仕様は、C# の構文と使用法に関する信頼性のある情報源です。The language specification is the definitive source for C# syntax and usage.

関連項目See also