类型转换 - 在 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;将编译成十进制)

类型转换 - 在 C# 中对数据类型 short 强制转换错误

修改以下内容,

short key = i + (short)1;

short key = (short) (i + (short)1);

原因是,任何增加的短 + 空都可能溢出短程。 因此,这需要显式强制转换。

尝试如下:

short key = (short) (i + (short)1);

另请注意,添加变量时Int16变量将转换为 Int32。

你也可以读Eric Liperts的回答:

  • 整数求和蓝调,短 += 短问题