如何在C#中为ASCII 127定义字符或字符串常量?

时间:2011-01-02 20:36:57

标签: c# string constants ascii literals

如何创建包含单个字符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常量(或者使用我没有的内置字符串实测值)。

4 个答案:

答案 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;
相关问题