C#のリテラル(直値)

リテラルとは、数値や文字といった値をソースコードの中で直接記述している部分の事です。
変数と区別する為、リテラルの書式が定めらてれています。



整数リテラル

整数リテラルは数字で記述します。
変数の先頭文字には数値を使えないので区別できます。

進数と記述

C#では同じ値をいくつかの表記方法で記述する事が出来ます。
整数は2進表記、10進表記、16進表記の3種類の表記方法があります。
書式
2進数先頭に 0b を付けた後 0~1 で値を表記0b001111101000
10進数0~9 で値を表記1000
16進数先頭に 0x を付けけた後 0~9 および A~F で値を表記0x03E8
※整数リテラルでは大文字・小文字を区別しません(0x0e3と0X0E3は同じ)

整数リテラルの型

整数リテラルは通常 int型の値として解釈されます。
リテラルの最後に特定の文字を追加する事で型を明示する事ができます。
解説
U符号なし整数(uint型,ulong型)1000U
L64ビット整数(long型,ulong型)1000L
ULまたはLU符号なし64ビット整数(ulong型)1000UL
※整数リテラルでは大文字・小文字を区別しません(1000Uと1000uは同じ)




実数リテラル

実数リテラルは数字とピリオド「.」で記述します。
変数の先頭文字には数値を使えないので区別できます。

小数点表記と指数表記

C#では同じ値をいくつかの表記方法で記述する事が出来ます。
実数は小数点表記と指数表記の2種類の表記方法があります。
書式
小数点表記0~9 とピリオド「.」で値を表記123.45
0.0012345
指数表記仮数部と指数部の間に e を追加して表記1.2345e+2
1.2345e-3
※実数リテラルでは大文字・小文字を区別しません(12345E+2と12345e+2は同じ)

実数リテラルの型

実数リテラルは通常 double型の値として解釈されます。
リテラルの最後に特定の文字を追加する事で型を明示する事ができます。
解説
F4バイト実数(float型)123.45F
D8バイト実数(double型)123.45D
M16バイト実数(desimal型)123.45M
※整数リテラルでは大文字・小文字を区別しません(123.45Fと123.45fは同じ)



論理型リテラル

論理型(bool型)はキーワード(予約語)によって値が定義されています。
真を表す true 、偽を表す false の2つのキーワードで記述します。



文字リテラル

C#では文字(1文字)と文字列(0文字以上の連続した文字)は区別します。
文字リテラルは変数名と区別する為シングルコーテーション「'」で囲んで記述しす。
'A'
'A'
'亜'
※Unicodeで処理されるので半角も全角も漢字も1文字は1文字です
※0文字または2文字以上を記述する事はできません('' や 'AB' はダメ)



文字列リテラル

C#では文字(1文字)と文字列(0文字以上の連続した文字)は区別します。
文字列リテラルは変数名と区別する為ダブルコーテーション「"」で囲んで記述しす。
値として「"」を含めたい場合は「""」のように2回続けて記述するか下記のエスケープシーケンスを利用します。
""
"A"
"ABCからXYZ"
※文字数0の値も記述できます



文字・文字列リテラルの特殊な文字

改行など特殊な文字を使いたいケースに対応する為、エスケープシーケンスという記述方法があります。
特殊な文字はエスケープシーケンスに置き換えて記述します。

エスケープシーケンス

エスケープシーケンス例(書き方)例(値)
\''(シングルコーテーション)"ああ\'あ"ああ'あ
\""(ダブルコーテーション)"ああ\"あ"ああ"あ
\\\(円記号)"ああ\\あ"ああ\あ
\0null
\aアラート音
\bバックスペース
\fフォームフィード
\n改行"ああ\nあ"ああ
\rキャリッジ リターン
\t水平タブ
\v垂直タブ
\uUnicode値(UTF-16)で指定"\u0041"A
\UUnicode値(UTF-32)で指定"\U00003042"
\xUnicode値(可変長)で指定"\x41"A

エスケープシーケンスを使わない

文字列リテラルにおいてエスケープシーケンスを使いたくない(使うのが面倒くさい)場合もあります。
そのような場合にはアットマーク「@」を先頭に付けて記述する事が出来ます。
例(書き方)例(値)
"c:\\windows\\system32\\"c:\windows\system32\
@"c:\windows\system32\"c:\windows\system32\



nullリテラル

参照型には、参照すべき実体がない null という状態があります。
キーワード(予約語)によって null という値が定義されています。


コメント