リテラル

 変数は値を格納することができます。プログラムで変数に格納する書き方として、別の変数を値として指定したり、直接データを指定したりします。この節では直接データを指定する方法を学習します。プログラムの中で直接指定するデータを「リテラル」と呼びます。

 VC#2013では次のような種類のリテラルを使います。

■ 数値

・ 整数

 プログラムで整数値を指定するとint型、uint型、long型、ulong型のうちのいずれかとして扱われます(int型の値を超える場合はlong型など)。特定のデータ型として指定したい場合は「サフィックス」を使って表現します。

データ型名 サフィックス 指定例
int型 (なし) 123
uint型 u(もしくは、U) 123u(もしくは、123U)
long型 l(もしくは、L) 123l(もしくは、123L)
ulong型 ul(もしくは、UL、Ul、uL、lu、LU、Lu、lU) 123ul(もしくは、123UL、123Ul、123uL、123lu、123LU、123Lu、123lU)
decimal型 4バイト 0~4,294,967,295(符号なし)
long 8バイト -9,223,372,036,854,775,808~9,223,372,036,854,775,807(符号付き)
ulong 8バイト 0~18,446,744,073,709,551,615(符号なし)
整数のサフィックス

・ 小数点型

 プログラムで小数値を指定するとdouble型として扱われます。特定のデータ型として指定したい場合は次のようなサフィックスを使用して表現します。

データ型名 サフィックス 指定例
float型 f(もしくは、F) 123.5f(もしくは、123.5F)
double型 d(もしくは、D、なし) 123.5d(もしくは、123.5D、123.5)
decimal型 m(もしくは、M) 123.5m(もしくは、123.5M)
小数のサフィックス

・ 16進数表現

 プログラムでは数値を指定すると10進数で表します。C#では10進数と16進数で表現できます。16進数で表現するには次のように指定します。

基数 記号 指定例
16進数 0x 0xFFFF;
16進数

■ 文字列

 プログラムでは文字列を指定するときは「"(ダブルクォーテーション)」で囲います。ただし、変数名を指定する場合は「"」は必要ありません。

○ プロジェクト

 次のようにプロジェクトを作成してください。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 StringTest

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //文字列型の変数を宣言
  4.  string str;
  5.  //文字列を変数に代入
  6.  str = "すもも";
  7.  //変数を表示
  8.  Console.WriteLine(str);
  9.  Console.ReadLine();
  10. }

○ 実行結果

すもも

○ 解説

 14行目ではstring型の変数strを宣言しています。17行目では変数strに文字列を代入しています。文字列は「”」で括って指定しています。20行目では変数strを表示しています。変数名を指定する場合は「”」で括っていません。

■ 文字

 プログラムでは文字を指定するときは「’(シングルクォーテーション)」で囲います。また文字には、エスケープシーケンスと呼ばれる特殊な文字が用意されています

エスケープシーケンス 文字
¥' 単一引用符
¥" 二重引用符
¥¥ 円記号
¥0 Null
¥a ビープ音
¥b バックスペース
¥n 改行
¥r キャリッジリターン
¥t 水平タブ
エスケープシーケンス

■ ブール

 ブール型のリテラルには「true」と「false」が指定できます。trueは真を表し、falseは偽を表します。

■ null

 VC#2013には「null」値という特別な値を扱うことができます。この値は、何も参照していない状態を表します。

○ プロジェクト

 次のようにプロジェクトを作成してください。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 LiteralTest

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //各種変数を初期化
  4.  var chardata = 'a';
  5.  var booldata = true;
  6.  string strdata = null;
  7.  //各種変数を表示
  8.  Console.WriteLine("文字:" + chardata);
  9.  Console.WriteLine("ブール:" + booldata);
  10.  Console.WriteLine("null:" + strdata);
  11.  //エスケープシーケンスを利用
  12.  Console.WriteLine("エスケープ¥nシーケンス");
  13.  Console.ReadLine();
  14. }

○ 実行結果

文字:a
ブール:True
null:
エスケープ
シーケンス

○ 解説

 14~15行目では2つの変数を宣言しています。varキーワードを使って初期化されるデータから型を推論して変数が用意されます。16行目ではstring型の変数を用意して、その変数にnull値を代入しています。null値は主に参照型の変数に代入できます。

 19~21行目では各種変数を表示しています。21行目ではstring型の変数を表示しようとしていますが、null値が格納されているため、表示できません。この場合のnullは文字列がないことを表します。

 24行目ではエスケープシーケンスを文字列の途中で使用しています。「¥n」は改行を表すので、「¥n」のところで改行されて表示されます。

前へ   次へ