类型转换 - 在 C# 中对数据类型 short 强制转换错误
本文关键字:short 转换 错误 数据类型 类型转换 | 更新日期: 2023-09-27 17:56:56
关于 C# 中 int 和 short 的基本问题
为什么我会收到此代码的语法错误:
for (short i = 0; i < list.Length; i++)
{
short key = i + (short)1; //This is where I get error
//Can not implicitly convert 'int' to 'short'
//Some more code, dealing with this key...
}
某处是否有一个好的表格显示不同类型的初始值设定项快捷方式?
(就像var f = 1M;
将编译成十进制)
修改以下内容,
short key = i + (short)1;
自
short key = (short) (i + (short)1);
原因是,任何增加的短 + 空都可能溢出短程。 因此,这需要显式强制转换。
尝试如下:
short key = (short) (i + (short)1);
另请注意,添加变量时Int16
变量将转换为 Int32。
你也可以读Eric Liperts的回答:
- 整数求和蓝调,短 += 短问题