如何创建包含单个字符ASCII 127的字符串或字符串常量?
// Normal printing character - no problems
const char VPIPE = '|';
//error "The expression being assigned to 'DEL' must be constant"
const char DEL = new string(127, 1);
如果常量是字符串而不是字符,那也没关系:
const string VPIPE = "|";
const string DEL = "???";
我知道ASCII 127不是你可以在键盘上“输入”的东西,但必须有一种方法从它创建一个字符串或char常量(或者使用我没有的内置字符串实测值)。
答案 0 :(得分:9)
'\x7F'
会这样做(如果需要,也可以嵌入字符串中)。
答案 1 :(得分:8)
我个人会使用“\ u”转义序列:
const char Delete = '\u007f';
我并不热衷于其他地方提到的“\ x”转义序列 - 它在字符文字(其中多个字符=>编译错误)中并不算太糟糕,但它可以是讨厌 string 文字:
// Tab the output
Console.WriteLine("\x9Good line");
Console.WriteLine("\x9Bad line");
假设你可以在这里看到这个错误,那么在你做出“只是一个快速的改变”时你有多么肯定你已经避免了它?
鉴于我正在为字符串文字避免使用它,我认为保持一致是正确的,只需在我想要转义十六进制值的地方使用“\ u”。
答案 2 :(得分:6)
试试这个
const char s = ((char)127);
答案 3 :(得分:2)
没关系。我对那个触发器的触发太快了。
const char DEL = (char)127;