逃避还是逐字逐句,这是我的问题。
我需要以编程方式向 C# 中的(Zebra QLn220)打印机发送几个命令,具体来说:
! U1 setvar "power.dtr_power_off" "off"
-和:
! U1 setvar "media.sense_mode" "gap"
由于这些命令中有过多的引号,我认为使用逐字字符串是明智的。但基于此,我仍然需要将引号加倍,以便它可能/理论上需要像:
string dontShutErOff = @"! U1 setvar """power.dtr_power_off""" """off"""";
...看起来像是由Don King、Coding Horror 中的猫和Groucho Marx组成的混搭。
以这种方式转义引号会更好:
string dontShutErOff = "! U1 setvar \"power.dtr_power_off\" \"off\"";
?
我应该逃离逐字记录吗?
更新
根据 Eric Lippert 的第一个建议,这个怎么样:
const string quote = "\"";
string whatever = string.Format("! U1 setvar {0}power.dtr_power_off{0} {0}off{0}", quote);