5

このリンクは次のように述べています。

@ 記号は、エスケープ文字と改行を無視するように文字列コンストラクターに指示します。

このように含むを追加しようとしますStringBuilder

   StringBuilder sb = new StringBuilder();
   sb.Append(@"<test name="test_all">");

しかし、それはでエラーを出しますtest_all

一重引用符を使用してこれを解決しました。' ':

sb.Append("<test name='layout_all'>");

しかし、ドキュメントごとに、なぜ機能しないのかわかり" "ません。それとも、理解するために何かが欠けていますか?

4

1 に答える 1

17

まあ、"それでも逐語的な文字列リテラルには特別な意味があります-あなたはそれをエスケープする必要があります、しかしこの場合、あなたはそれを単に2倍にします:

sb.Append(@"<test name=""test_all"">");
于 2012-12-19T10:11:36.660 に答える