我正在维护一些我目前正在转换为C#的Java代码.
Java代码是这样做的:
sendString(somedata + '\000');
在C#中,我试图做同样的事情:
sendString(somedata + '\000');
但是在'\''上,VS2010告诉我"字符文字中的字符过多".如何在C#中使用'\n''?我试图找出角色是什么,但它似乎是""或某种换行符.
你对这个问题一无所知吗?
谢谢!
'\0'
在C#中会很好.
发生的事情是C#看到\0
并将其转换为ASCII值为0的零字符; 然后它会看到另外两个0
s,这在字符内部是非法的(因为你使用单引号,而不是双引号).nul字符通常不可打印,这就是为什么当你试图打印它时它看起来像一个空字符串.
你在Java中输入的是一个支持八进制数字的字符文字.C#不支持字符或数字中的八进制文字,以减少编程错误.*
C#确实支持Unicode文字形式的'\u0000'
,其中0000
是一个1-4位十六进制数.
* 例如,在PHP中,如果键入前导零为有效八进制数的数字,则会进行转换.如果它不是合法的八进制数,则无法正确转换. 在我的机器上<? echo 017; echo ", "; echo 018; ?>
输出15, 1
.