C#での文字列操作は、アプリケーション開発において非常に重要です。特に、逐次的な文字列(逐語的文字列とも呼ばれる)と式展開(string interpolation)をうまく活用することで、コードの可読性と保守性が大きく向上します。本記事では、C#の逐次的文字列と式展開の基本から応用までを丁寧に解説します。
逐次的文字列(verbatim string)とは?
逐次的文字列は、バックスラッシュや改行などをエスケープせずにそのまま文字列として扱いたいときに便利です。C#では、文字列の前に@
をつけることで逐次的文字列を表現できます。
string path = @"C:\Users\Example\Documents";
特徴:
- バックスラッシュ
\
をエスケープせずに書ける - 改行を含む文字列もそのまま書ける
string multiLine = @"これは
複数行に
わたる文字列です。";
式展開(string interpolation)とは?
式展開は、変数や式を文字列内に埋め込むための構文で、コードをより直感的かつ簡潔にします。
string name = "山田";
int age = 30;
string message = $"名前: {name}, 年齢: {age}";
特徴:
$
記号を使って文字列内に変数や式を埋め込む- 表現力が高く、文字列連結よりも可読性が良い
string fileName = "report";
int version = 3;
string result = $"{fileName}_v{version}.txt";
逐次的文字列と式展開を同時に使う方法
C#では、逐次的文字列と式展開を同時に使用することも可能です。その場合は、$@
または@$
のどちらかを使います。
string folder = "C:\\Projects";
string file = "output.txt";
string fullPath = $@"{folder}\{file}";
順序は $@
または @$
のどちらでも構いません。
注意点とベストプラクティス
@
を使う場合、文字列内のダブルクォーテーション"
は""
としてエスケープが必要です。$@
文字列では、改行や特殊文字もそのまま使えるので、ログやテンプレート生成などに便利です。- 式展開内では複雑なロジックを避け、必要なら事前に変数へ代入しましょう。
まとめ
機能 | 概要 | 例 |
---|---|---|
逐次的文字列 | バックスラッシュや改行をそのまま書ける | @"C:\\Path" |
式展開 | 変数や式を文字列内に埋め込む | $"Hello {name}" |
組み合わせ | 逐次的+式展開の両方を使う | $@"{path}\{file}" |
C#の文字列操作をマスターすることで、日々のコーディングがより効率的になります。逐次的文字列と式展開は、どちらも使い方次第で強力なツールとなります。ぜひこの記事を参考に、開発現場で活用してみてください。