C#で、変数名として使えない言葉を紹介する

  • このエントリーをはてなブックマークに追加

スポンサーリンク

※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~

目次

はじめに

プログラムを書く際に、変数に名前を付けて宣言します。

しかし、どんな名前でも使えるかというと、そうではありません。

例えば、以下のようなint型の変数に「if」という名前の変数名を付けることはできません。

int if;//エラー

この記事では、C#において、どのような言葉が変数名として使えるか説明します。

使える言葉・使えない言葉

使える言葉

  • 「_」(アンダースコア)
  • 「a~z,A~Z」(アルファベット)
  • 2バイト文字(全角)。例えば、あ、カ、佐」などが使えます
  • 「0~9」(数字)
    ※ただし、先頭に数字を持っていくことはできません

大文字と小文字は区別されます。

例えば、以下のような名前は使えます。

int _i;
int a_B_c;
int あイ右eo;
int しーしゃーぷ;
int if1;//予約語に何か文字を加えれば使える
//小文字と大文字は区別される
int test;
int TEST;
int ict119;

※ただし、慣例として、変数名は基本的にアルファベットを使い、日本語の文字は使いません。

使えない言葉

  • 先頭が数字
  • キーワード (予約語)

例えば、以下のような名前は使えません

int 119ict;
int if;

キーワード (予約語)とは

「if」や「for」など、コンパイラにとって、特別な意味を持つ言葉を「キーワード」と呼ばれます。

※キーワードとほぼ同じ意味で「予約語」という言葉が使われる場合もあります。

※先頭に@を付ければ、キーワードを変数名として使用できます。(オススメはしません)

int @if;

キーワードとして、以下のようなものが挙げられます。

※コンテキストキーワードも含みます

abstract as  add alias ascending async await
base bool  break byte
case catch  char checked class const  continue
decimal  default delegate  do double  descending dynamic
else enum  event explicit extern
false finally fixed float for  foreach  from
goto  get  global group
if implicit  in  int interface  internal is  into
join
lock long let
namespace new null 
object  operator out out  override  orderby
params private protected public  partial 
readonly ref return  remove
sbyte  sealed short sizeof stackalloc static string struct switch select set
this throw true try  typeof
uint ulong unchecked unsafe ushort using
void volatile value  var
while when where
yield

キーワードは、「コンテキストキーワード」かそうでないかで2つに分けることができます。

コンテキストキーワードは、ある特定の文脈においてのみ特別な意味を持つ言葉です。

逆に言えば、その文脈外では、変数名として問題なく使用できます。

ただし、紛らわしいので、コンテキストキーワードを変数名として使用はしない方がいいでしょう。

※キーワードは、C#のバーションが上がった際に、追加される可能性があります。最新の情報を知りたい場合は、以下のサイトを参考にしてください

参考サイト:

※リンク先のサイトはマイクロソフトのサイトなので間違いはないと信じたいです。しかし、キーワード集の内「名前空間」は「namespace」に置き換える必要があると思います。

最後に…

以上の話は、変数名だけに当てはまるものではありません。

ユーザーが定義できる、メソッド名、クラス名、ラベル名も、上の規則を満たさないといけません。

変数名やメソッド名のような、ユーザーが自由に名前を付けることができるものを識別子と呼びます。

関連記事

~Webサイトを自分で作ってみませんか?~

Webサイトを運営するにはサーバーが必須です。
このサイトは、エックスサーバー のサーバーを使用しています。
エックスサーバーは無料で10日間お試しができます。

     

コメントを残す

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)