「リテラル」とは「文字通り」という意味。プログラミングにおける「リテラル」は、値や文字をそのまま書き下したものを指す。
リテラル文字列には、「標準リテラル」と「逐語リテラル」の2種類があり、特殊文字の記述方法が異なる。(2.4.4.5 リテラル文字列 (C#))
標準リテラル
文字列をダブルクオーテーションで囲んで記述。
string h = "Hello World"。
特殊文字は、「\(円マーク)+文字」で表す。
たとえば、\“はダブルクオーテーション、\\は円マーク、\tはタブなど。
string e = "Joe said \"Hello\" to me"; // Joe said "Hello" to me string g = "\\\\server\\share\\file.txt"; // \\server\share\file.txt
逐語リテラル
文字列を、@“(アットマーク)+”(ダブルクオーテーション)文字列"(ダブルクオーテーション)で囲む。すなわち、標準リテラルの前に、@をつけた形。
string h = @"Hello World"。
string h = @"\\server\share\file.txt"; // \\server\share\file.txt
例外は"(ダブルクオーテーション)で、、"“とダブルクオーテーション2つで、ひとつのダブルクオーテーションをあらわす。
string f = @"Joe said ""Hello"" to me"; // Joe said "Hello" to me
サンプル
画像データパスが変数imageFilePath
で与えられているとき、{“url”:“画像データパス”} というJSONデータを記述する:
string data1 = "{\"url\":\"" + imageFilePath + "\"}"; // 標準リテラル形式で記述した場合 string data2 = @"{""url"":""" + imageFilePath + @"""}"; // 逐語リテラル形式で記述した場合