所有数学运算都以整数形式返回?

时间:2010-02-01 09:21:46

标签: c# types casting int primitive-types

  

可能重复:
  byte + byte = int… why?

我有一个从(-1024,-1024)到(1024,1024)的网格,所以我不需要int提供的所有值,但我注意到我的所有算法都返回为int和我需要用(短)来对它们进行强制转换。任何人都可以解释为什么所有数学运算都返回int并且因为数学运算以int形式返回,解析为short会更有效吗?

short yCoordinate = (short)(short.Parse(RtData[1][1]) - 1);

1 个答案:

答案 0 :(得分:2)

返回一个int,因为大多数数学运算需要的数字大于short可以包含的数字。 BCL可供许多程序员使用,创作者必须平衡可读性,可用性和性能,以创建通常有用的分类。

由于方法签名不考虑返回类型,因此它们必须决定哪些最有用的作为这些函数的返回类型(short,int,long等)。他们认为int是最好的。