数据类型为C#的C#中的错误

时间:2015-06-18 05:17:07

标签: c# type-conversion

关于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;将编译为十进制)

2 个答案:

答案 0 :(得分:1)

修改以下内容,

short key = i + (short)1;

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

原因是,短线+空头的任何增加可能会短距离溢出。因此这需要一个明确的演员。

答案 1 :(得分:1)

试试这样:

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

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

你也可以阅读Eric Liperts的回答: