【C#】文字列中に「¥」や改行を入れたい時は、逐語的文字列リテラル(@)をつかう。
「\」を含む文字列の記述を簡略化
文字列内に「\」を使用する場合、エスケープする必要になる。
そのため、「D:\\apps\\AppFolder\\eample.txt」をstring型に代入したい場合は、
1 |
string str1 = "D:\\apps\\AppFolder\\eample.txt"; |
のように記述する必要がある。
しかし、これは直感的でなく、読みにくい。
そこで、逐語的文字列リテラルを使用する。
逐語的文字列リテラルとは、以下のような記述方法である。
1 |
string str2 = @"D:\apps\AppFolder\eample.txt"; |
こうすることで、「\」をエスケープする必要がなくなり、直感的に記述することができる。
ファイルのパスなどを記述する際に、よく使用することになる。
改行を含む文字列の記述を簡略化
逐次語文字列リテラルは「\」以外にも、改行を含む文字列の記述も簡略化することができる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
//改行を含む文字列 string str3 = "abcdefg\nhijkelmn\nopqrstu\nvwxyz"; string str4 = @"abcdefg hijkelmn opqrstu vwxyz"; Console.WriteLine(str3); Console.WriteLine(str4); //出力結果: //abcdefg //hijkelmn //opqrstu //vwxyz |
このように、文字列中にわざわざ「\n」を記述しなくてよく、また入力と出力の見た目が同じになるので、読みやすくなる。
ただし、大量に改行が入るような場合は、可読性、パフォーマンス性から、StringBuilderを使用するのが良い。