c# - Java 字 rune 字到 C# 字 rune 字

标签 c# java character

我正在维护一些 Java 代码,我目前正在将它们转换为 C#。

Java 代码是这样做的:

sendString(somedata + '\000');

在 C# 中,我正在尝试做同样的事情:

sendString(somedata + '\000');

但是在 '\000' 上,VS2010 告诉我“字 rune 字中的字符太多”。如何在 C# 中使用“\000”?我试图找出这个字符是什么,但它似乎是“”或某种换行符。

你知道这个问题吗?

谢谢!

最佳答案

'\0'在 C# 中会很好。

发生的事情是 C# 看到了 \0并将其转换为 ASCII 值为 0 的空字符;然后它又看到两个 0 s,在 字符 中是非法的(因为您使用的是单引号,而不是双引号)。空字符通常不可打印,这就是为什么当您尝试打印它时它看起来像一个空字符串。

您在 Java 中输入的是支持 octal 的字 rune 字数字。 C# 不支持字符 数字中的八进制文字,以努力减少编程错误。*

C# does supports Unicode literals形式 '\u0000'其中 0000是1-4位的十六进制数。

* 例如,在 PHP 中,如果您输入的数字前导零是有效的八进制数,它就会被翻译。如果它不是合法的八进制数,则无法正确翻译。 <? echo 017; echo ", "; echo 018; ?>输出 15, 1在我的机器上。

关于c# - Java 字 rune 字到 C# 字 rune 字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2753509/

相关文章:

c# - Controller does not have a default constructor 500 内部服务器错误

c# - .NET 中的 JIT 编译器和事件处理程序

java - IntelliJ如何将模块添加到现有模块

java - 伺服监视器注释是否可以开箱即用?

c - 字符数组中包含空字符和排除空字符有什么区别?

c# - 创建在 C# 中解析 Enum 的函数

c# - 如何将DbQuery的结果放入ComboBox?

java - 老一代总是 100% > 导致 100% CPU 使用率

perl - 国家字表

javascript - 字符串中的 HTML 实体(外部 JavaScript 文件)