gpt4 book ai didi

c# - Verbatim 或转义是处理 C# 中引号丰富的字符串的首选方式吗?

转载 作者:行者123 更新时间:2023-11-30 13:22:25 25 4
gpt4 key购买 nike

要转义还是逐字逐句,这是我的问题。

我需要在 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"""";

...这看起来像是由 Don King 组成的混搭, cat from Coding Horror , 和 Groucho Marx .

以这种方式转义引号会更好吗:

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);

最佳答案

我会考虑第三种选择:

const string quote = "\"";
string whatever = "! U1 setvar " +
quote + "power.dtr_power_off" + quote + " " +
quote + "off" + quote;

或者第四个:

static string Quote(string x) 
{
const string quote = "\"";
return quote + x + quote;
}
...
string whatever = "! U1 setvar " + Quote("power.dtr_power_off") + " " + Quote("off");

所有这些都有利有弊;显然没有一个是最好的。

关于c# - Verbatim 或转义是处理 C# 中引号丰富的字符串的首选方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23158366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com