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/