操作できるように文字列に保存する必要がある入力がありますが、入力に複数の引用符があるため、文字列として保存できません。
例えば
string s = "dfasdf" : "FASDFSD" ["FSADFSA"];
それを行うには2つの方法があります。
@""
、二重引用符を2倍にします。 "\"This string is quoted\""
また
@"""This string is quoted"""
単に:\"
の代わりに書き込むことで、データの一部として扱われるべき引用符をエスケープすることができます。"
string s = "\"dfasdf\" : \"FASDFSD\" [\"FSADFSA\"]";
エスケープを使用するのは良いことです:
string s = "\"dfasdf\" : \"FASDFSD\" [\"FSADFSA\"]";
\"
二重引用符を挿入するために使用できます
1つの解決策は、文字列に必要な各引用符のリテラルを2倍にすることです。
string s = """dfasdf"":""FASDFSD""[""FSADFSA""]";
もう1つは、それらをエスケープすることです。
string s ="\"dfasdf\":\"FASDFSD\"[\"FSADFSA\"]";
2回書くことで、逐語的な文字列に二重引用符文字を含めることができます(以下の注を参照)
保存する必要がある場合
hello "Hi!"
このように保管する必要があります
string s=@"hello ""Hi!"" ";
また
を使用してエスケープします\
string s="hello \"Hi!\" ";
ノート
逐語的な文字列は、\n、\r などの制御文字を解釈しません。そのため、逐語的な文字列で \n、\r が使用されている場合、解釈されません。
そうstring s="hello \n hi!";
として印刷されます
hello \n hi!
いいえ
hello
hi!