はじめに
C#の文字列操作で気になった、
逐語的文字列と挿入文字列を(備忘のため)まとめた。
逐語的文字列
文字列の最初に@
を使用することで定義。
文字列を逐語的(原文の通り?)に解釈する。
つまり、特殊文字が通常の文字として解釈され、改行等もそのまま処理される。
ただし、ダブルクォーテーションを文字列として扱う場合は ""
というように連続で記述する。
Console.WriteLine("記事:\n\"c\\qiita\\qiita.txt\"");
// 記事:
// "c\qiita\qiita.txt"
Console.WriteLine(@"記事:
""c\qiita\qiita.txt""");
// 記事:
// "c\qiita\qiita.txt"
挿入文字列
文字列の最初に$
を使用することで定義。
文字列を補完式が含まれている可能性のある文字列として解釈する。
つまり、文字列中に変数や式をいい感じに埋め込める。
※中かっこ{}
を文字列として扱う際は{{
,}}
というように、連続で記述する必要がある。
Console.WriteLine($"{1+2}");
// 3
string pass = "c\\qiita\\qiita.txt";
Console.WriteLine($"記事:{{{pass}}}");
// 記事: {c\qiita\qiita.txt}
組み合わせ
逐次的文字列と挿入文字列を組み合わせる際は、$@
と記述する。
var item = JsonConvert.DeserializeObject<JObject>($@"{{ ""url"": ""{url}"" }}");