c# - Java 和 C# 中 char 的区别((char)-1 的特殊问题)

标签 c# java

char x = (char)-1;

在 Java 中有效,但显示错误(常量值计算溢出)

我应该在 C# 中使用不同的数据类型吗?

最佳答案

发生该错误是因为 C# 对于文字(“常量计算”)更加智能。在 C# 中,可以做...

int x = -1;
char c = (char)x;
int y = c;
// y is 0xffff, as per Java

但是,请注意 0xFFFF 是一个无效的 Unicode 字符:)

祝你编码愉快。


使用unchecked也将“工作”:

unchecked {
  char x = (char)-1;
}

关于c# - Java 和 C# 中 char 的区别((char)-1 的特殊问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7331860/

相关文章:

java - 从 RPG 调用 Java,除我之外的所有用户均出现 ClassNotFoundError

c# - 为什么这些代码行没有按预期运行?

C# .Net 2.0 代理的自动配置?

c# - 为什么 ScriptEngine 没有 Execute 方法了?

java - 无法创建新的 native 线程错误 - 但使用的线程很少

java catch block 导致多个输出

c# - 从 Windows 应用程序调用 WCF - 主机

c# - Int to Decimal Conversion - 在指定位置插入小数点

java - 获取edittext的值并在其中添加小数点

java - ehcache putAll 操作线程安全且原子吗?