我应该使用转义符还是原样输出?这是我的问题。
我需要以C#编程方式向打印机(Zebra QLn220)发送几个命令,具体来说:
由于这些命令中有大量引号,我认为使用原样字符串是明智的选择。但基于this,我仍然需要将引号加倍,所以理论上应该像这样:
我需要以C#编程方式向打印机(Zebra QLn220)发送几个命令,具体来说:
! U1 setvar "power.dtr_power_off" "off"
-和:
! U1 setvar "media.sense_mode" "gap"
由于这些命令中有大量引号,我认为使用原样字符串是明智的选择。但基于this,我仍然需要将引号加倍,所以理论上应该像这样:
string dontShutErOff = @"! U1 setvar """power.dtr_power_off""" """off"""";
...看起来像是由唐·金, Coding Horror的猫和格劳乔·马克思组成的混搭。
这样转义引号会更好吗:
string dontShutErOff = "! U1 setvar \"power.dtr_power_off\" \"off\"";
?
我应该从Verbatimtraz逃离吗?
更新
根据Eric Lippert的第一个建议,这样怎么样:
const string quote = "\"";
string whatever = string.Format("! U1 setvar {0}power.dtr_power_off{0} {0}off{0}", quote);
""
是"
的转义版本,而不是"""
。 - Tim S.