Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中为ASCII 127定义字符或字符串常量?_C#_String_Constants_Ascii_Literals - Fatal编程技术网

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

如何在C#中为ASCII 127定义字符或字符串常量?,c#,string,constants,ascii,literals,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 = "|"; cons

如何创建包含单个字符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不是可以在键盘上“键入”的东西,但是必须有一种方法可以从中创建字符串或字符常量(或者使用我没有找到的内置常量)。

'\x7F'
可以做到这一点(必要时也可以嵌入字符串中)。

试试这个

 const char s = ((char)127);

没关系。那一次我扣动扳机有点太快了

const char DEL = (char)127;
我个人会使用“\u”转义序列:

const char Delete = '\u007f';
我对其他地方提到的“\x”转义序列不感兴趣-它在字符文本中不是很糟糕(其中多个字符=>编译器错误),但对于字符串文本来说可能很糟糕:

// Tab the output
Console.WriteLine("\x9Good line");
Console.WriteLine("\x9Bad line");
假设您可以在这里看到这个bug,那么在进行“快速更改”时您有多大把握能够避免它


考虑到我在字符串文本中避免使用“\u”,我认为保持一致是有意义的,只要在我想转义十六进制值的地方使用“\u”。

我相信你可以在构造函数中初始化这样的常量。谢谢Exoas。我在看到你的回答之前就知道了。谢谢哎呀。对不起,我迟到了。我想我在发布评论时就这么做了……请查看我的答案,了解避免
\x
转义序列的原因。回答很好,Jon,我同意(我确实看到了9G和9B之间的错误。我讨厌这样隐藏的错误)。顺便说一下,天哪!这是你的真实分数吗?!?你是这个网站的创始人之一,还是从1972年起就一直在这里?哈哈@FlipScript:别忘了这是一个Unicode世界。。。后者实际上使用Unicode U+9BAD:)这是我的真实分数,我甚至不在Beta中。不过,我确实发布了“相当多”的帖子:)