0

我有一个输入需要存储在字符串中以便我可以操作,但我无法存储为字符串,因为输入有多个引号。

例如

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

6 回答 6

5

有两种方法可以做到:

  • 使用常规字符串并转义双引号,或
  • 使用逐字 @""字符串,并加双引号。


 "\"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

您可以使用\"以注入双引号

于 2012-10-10T17:40:29.773 回答
1

一种解决方案是将字符串中所需的每个引号文字加倍,如下所示:

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

另一个是逃避他们:

string s ="\"dfasdf\":\"FASDFSD\"[\"FSADFSA\"]";
于 2012-10-10T17:37:44.780 回答
1

使用转义很好:

    string s = "\"dfasdf\" : \"FASDFSD\" [\"FSADFSA\"]";
于 2012-10-10T17:38:56.717 回答
0

您可以通过写两次在逐字字符串中包含双引号字符(请参阅下面的注释)

所以如果你需要存储

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 回答