为什么尝试逐字逐句地失败?

B. *_*non -2 c# quotes escaping verbatim-string

我有这个子字符串我想从字符串中删除:

<ArrayOfSiteQuery xmlns:i="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://schemas.datacontract.org/2004/07/CStore.DomainModels.HHS">
Run Code Online (Sandbox Code Playgroud)

意识到它充满了愚蠢,我认为逐字逐句可以解决所有弊病:

String messedUpJunk = @"<ArrayOfSiteQuery xmlns:i="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://schemas.datacontract.org/2004/07/CStore.DomainModels.HHS">";
Run Code Online (Sandbox Code Playgroud)

...但是,在Lost In Space中解释机器人,不计算(编译); 我得到," ;预期 "在第一个"http".

我可以通过转义引号来获得它:

String messedUpJunk = "<ArrayOfSiteQuery xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://schemas.datacontract.org/2004/07/CStore.DomainModels.HHS\">";
Run Code Online (Sandbox Code Playgroud)

......但如果它没有动词,那么逐字使用是什么用途?

Luc*_*ski 6

双引号是您需要以逐字字符串转义的唯一字符.转义它是以不同的方式完成的,你需要加倍它("")而不是使用反斜杠:

String messedUpJunk = @"<ArrayOfSiteQuery xmlns:i=""http://www.w3.org/2001/XMLSchema-instance"" 
xmlns=""http://schemas.datacontract.org/2004/07/CStore.DomainModels.HHS"">";
Run Code Online (Sandbox Code Playgroud)

MSDN链接:

使用双引号在逐字字符串中嵌入引号