0

操作できるように文字列に保存する必要がある入力がありますが、入力に複数の引用符があるため、文字列として保存できません。

例えば

string s = "dfasdf" : "FASDFSD" ["FSADFSA"];
4

6 に答える 6

5

それを行うには2つの方法があります。

  • 通常の文字列を使用して二重引用符をエスケープするか、
  • 逐語的な 文字列を使用し@""、二重引用符を2倍にします。


 "\"This string is quoted\""

また

 @"""This string is quoted"""
于 2012-10-10T17:38:23.523 に答える
4

単に:\"の代わりに書き込むことで、データの一部として扱われるべき引用符をエスケープすることができます。"

string s = "\"dfasdf\" : \"FASDFSD\" [\"FSADFSA\"]";
于 2012-10-10T17:37:34.757 に答える
1

エスケープを使用するのは良いことです:

    string s = "\"dfasdf\" : \"FASDFSD\" [\"FSADFSA\"]";
于 2012-10-10T17:38:56.717 に答える
1

\"二重引用符を挿入するために使用できます

于 2012-10-10T17:40:29.773 に答える
1

1つの解決策は、文字列に必要な各引用符のリテラルを2倍にすることです。

string s = """dfasdf"":""FASDFSD""[""FSADFSA""]";

もう1つは、それらをエスケープすることです。

string s ="\"dfasdf\":\"FASDFSD\"[\"FSADFSA\"]";
于 2012-10-10T17:37:44.780 に答える
0

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!
于 2012-10-10T17:38:51.470 に答える