エラーが発生する例
ダブルクォート(")は 文字列リテラル の 開始 と 終了 を表すため、そのまま使用するとコンパイルエラーが発生します。// 1234567890"abcdef を設定したい
string str1 = "1234567890"abcdef";
// "1234567890""abcdef" を設定したい
string str2 = ""1234567890""abcdef"";

解決方法
文字列リテラル中の 「"(ダブルクォート)」の前に「\(バックスラッシュ)」を追加し、エスケープします。エスケープとは、対象文字の機能(この場合は文字列の開始・終了)を無効化することです。※バックスラッシュ は エディターの設定や環境などにより、見た目が「¥(円記号)」または「\」のいづれかになります。
// 1234567890"abcdef を設定したい
string str1 = "1234567890\"abcdef";
// "1234567890""abcdef" を設定したい
string str2 = "\"1234567890\"\"abcdef\"";
// 結果 = 1234567890"abcdef
System.Console.WriteLine(str1);
// 結果 = "1234567890""abcdef"
System.Console.WriteLine(str2);


サンプルコードのダウンロード
- サンプルコードの実行には Microsoft Visual Studio 2019 以上のバージョンが必要です。
- 2019以外のバージョンでは、プロジェクトを開いた際に変換が必要な場合があります。その場合は変換後に実行してください。
- Visual Studio インストール時のオプションによっては、ビルドエラー等が発生することがあります。
- サンプルコードのダウンロードや実行によって損害等が発生した場合、理由の如何に関わらず、当方は一切責任を負いません。
ダウンロードリンク
参考資料
検証環境
- .NET 5.0
- Microsoft Visual Studio Professional 2019 Version 16.11.16
- Microsoft Windows 10 Enterprise Version 22H2 OS Build 19045.2486 Experience: Windows Feature Experience Pack 120.2212.4190.0