如何在 C# 中维护字符串中引用的多个引号

How do I maintain multiple quotes quoted in a string in c#

所以我有这段文字需要放在一个字符串上,这样我以后可以添加到一个文本文件中,应该像这个字符串

<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<requiredRuntime version="v4.0.20506" />
</startup>

我试过像

@"""<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    <requiredRuntime version="v4.0.20506" />
    </startup>"""

也尝试使用 concatenatio,但我看不出如何将每个引号包含在该字符串中。

双引号在 @"":

内转义单引号
string Text = @"<startup useLegacyV2RuntimeActivationPolicy=""true"">
    <supportedRuntime version=""v4.0"" sku="".NETFramework,Version=v4.0""/>
    <requiredRuntime version=""v4.0.20506"" />
  </startup>";

这里有方便的工具 http://www.freeformatter.com/java-dotnet-escape.html

输入字符串,它会为你转义。

"<startup useLegacyV2RuntimeActivationPolicy=\"true\">\r\n    <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.0\"/>\r\n    <requiredRuntime version=\"v4.0.20506\" />\r\n  </startup>"
private static void Main(string[] args)
        {
            string value =
                @"<startup useLegacyV2RuntimeActivationPolicy=""true""> <supportedRuntime version=""v4.0"" sku="".NETFramework,Version=v4.0""/>
                 <requiredRuntime version=""v4.0.20506"" /></startup>";
            Console.WriteLine(value);
            Console.Read();
        }

您可以在字符串的初始双引号前加上“@”字符以处理转义:

var startupTag = @"<startup useLegacyV2RuntimeActivationPolicy=""true"">
                           <supportedRuntime version=""v4.0"" sku="".NETFramework,Version=v4.0""/>
                           <requiredRuntime version=""v4.0.20506"" />
                   </startup>";

你可以see a live example of this here.