如何让c#写出引号?

时间:2016-03-11 12:10:07

标签: c# streamwriter

我希望c#将一段HPKP代码写入文本框。

一条apache HKPK代码是什么样的:

Header always set Public-Key-Pins "pin-sha256=\"base64+primary==\"; pin-sha256=\"base64+backup==\"; max-age=5184000; includeSubDomains"

我在c#中尝试过做什么:

apacheTextBox.Text = ("Header always set Public-Key-Pins ") + ("pin-sha256=\"base64+primary==\"; pin-sha256=\"base64+backup==\"; max-age=5184000; includeSubDomains");

导致(输入文本框但在此处显示代码以便清晰查看):

Header always set Public-Key-Pins pin-sha256="base64+primary=="; pin-sha256="base64+backup=="; max-age=5184000; includeSubDomains

如您所见,之间缺少两个引号:

pin-sha256="base64+primary=="; pin-sha256="base64+backup=="; max-age=5184000; includeSubDomains

那么如何让c#写下引号?

2 个答案:

答案 0 :(得分:2)

\“将在c#中转义引号,因此它会将引号打印为字符。试试这个

apacheTextBox.Text = ("Header always set Public-Key-Pins ") + ("\"pin-sha256=\"base64+primary==\"; pin-sha256=\"base64+backup==\"; max-age=5184000; includeSubDomains\"");

答案 1 :(得分:1)

如同显示的内容一样,请使用\"。在写引号"之前,你需要一个转义字符\。

apacheTextBox.Text = ("\"Header always set Public-Key-Pins ") + ("pin-sha256=\"base64+primary==\"; pin-sha256=\"base64+backup==\"; max-age=5184000; includeSubDomains\"");

另外,如果需要反斜杠,请使用双反斜杠\。第一个是转义字符,第二个是反斜杠。

apacheTextBox.Text = ("\"Header always set Public-Key-Pins ") + ("pin-sha256=\\\"base64+primary==\\\"; pin-sha256=\\\"base64+backup==\\\"; max-age=5184000; includeSubDomains\\\"");

这里的关键是理解转义字符反斜杠。