C#で文字列を操作する際に、特殊文字であるダブルクォーテーション(”)やカンマ(,)を扱う場合、
エスケープが必要です。
この記事では、そのエスケープ方法とエスケープしない方法について解説します。
ダブルクォーテーションをエスケープしない方法
C#では、@文字列リテラルを使用することでエスケープせずに特殊文字をそのまま扱うことができます。
string stringWithoutEscape = @"This is an example without escaping double quotes: ""Hello, World!"" and without escaping a comma: Goodbye, World!";
Console.WriteLine(stringWithoutEscape);
@文字列リテラルを使用すると、バックスラッシュをエスケープ文字として認識しないので、より直感的に特殊文字を扱うことができます。
ダブルクォーテーションのエスケープし出力
C#でダブルクォーテーションをエスケープする方法は、通常の文字列中でダブルクォーテーションを表示したい場合に使用します。
エスケープするには、バックスラッシュ(\)を使用します。
string stringWithDoubleQuotes = "This is an example of escaping double quotes: \"Hello, World!\"";
Console.WriteLine(stringWithDoubleQuotes);
このように、バックスラッシュをダブルクォーテーションの前に置くことで、そのダブルクォーテーションは文字列の一部として扱われます。
広告
カンマなどの特殊文字のエスケープ
カンマも特殊文字であり、CSV(Comma-Separated Values)などでよく使用されます。
カンマをエスケープするには、同様にバックスラッシュを使用します。
string stringWithComma = "This is an example of escaping a comma: \"Hello, World!\" and \"Goodbye, World!\"";
Console.WriteLine(stringWithComma);
カンマもダブルクォーテーションと同様に、バックスラッシュを前に付けることでエスケープできます。
広告
まとめ
C#でダブルクォーテーションやカンマをエスケープする方法について解説しました。
通常のエスケープ方法と@文字列リテラルを使用する方法があります。
コードのコンテキストや好みに応じて使い分けると良いでしょう。