クラス名、クラス型、構造体名などの識別子の先頭が数字の場合エラーになる - C#

概要

クラス名やクラス型、構造体名などの識別子の先頭が数字の場合にエラーになります。
下記のコードはエラーにはなりませんが
 public class Point2D{
   ...
 }

下記コードはエラーになります。識別子の先頭は"_"か文字である必要があります。
また、C#の予約語(if, while, switchなど)は識別子にはできません
 public class 2DPoint{
   ...
 }

エラーにならない例

 public class _2D{
   ...
 }

 public class 物体2D{
   ...
 }

エラーになる例

 public class 2D{
   ...
 }

 public class 2D-point{
   ...
 }

 public class if{
   ...
 }

定義

厳密には以下のように定義されています。

  • identifier:
    • available-identifier
    • @ identifier-or-keyword
  • available-identifier:
    • keyword ではない identifier-or-keyword
  • identifier-or-keyword:
    • identifier-start-character identifier-part-charactersopt
  • identifier-start-character:
    • letter-character
    • _ (アンダースコア記号 U+005F)
  • identifier-part-characters:
    • identifier-part-character
    • identifier-part-characters identifier-part-character
  • identifier-part-character:
    • letter-character
    • decimal-digit-character
    • connecting-character
    • combining-character
    • formatting-character
  • letter-character:
    • クラス Lu、Ll、Lt、Lm、Lo、または Nl の Unicode 文字
    • クラス Lu、Ll、Lt、Lm、Lo、または Nl の文字を表す unicode-escape-sequence
  • combining-character:
    • クラス Mn または Mc の Unicode 文字
    • クラス Mn または Mc の文字を表す unicode-escape-sequence
  • decimal-digit-character:
    • クラス Nd の Unicode 文字
    • クラス Nd の文字を表す unicode-escape-sequence
  • connecting-character:
    • クラス Pc の Unicode 文字
    • クラス Pc の文字を表す unicode-escape-sequence
  • formatting-character:
    • クラス Cf の Unicode 文字
    • クラス Cf の文字を表す unicode-escape-sequence

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2010-12-22
iPentec all rights reserverd.