在C#中long与int64有什么区别吗

来源:百度知道 编辑:UC知道 时间:2024/07/06 20:23:22
急急急急??????
为什么存储过程中返回值为int 调用存储过程的方法要求参数为long型
回来又有个int64 他们之间有什么关系,他们之间可以自动转换吗?
如果参数为long 传入int64行不行呀

简明扼要的说就是皇神创世那样的回答。
至于sq_zhuyi说的不对,C#中int用于对应的是.NET CTS中的Int32,也就是说是32位。
long对应的则是Int64,也就是说是64位。

所以rightmin的担心是不必要的,.NET为了消除这些差异和不明确性做了很多工作,所以.net程序可以跨平台,只要有对应的CLR。

C#中,基本数据类型是不受操作系统位数限定的。
比如:32位操作系统和64位操作系统它们的int型都是表示的32位=4个字节。
C++中,基本数据类型是受操作系统位数限定的。
比如:32位操作系统它的int型表示32位,16位操作系统的int型表示16位。
C#中long的位数是64位,对应int64.

从C,C++到C#有点乱了,int一般是指32位的,但是有时候又不是。

我建议以后不要使用int了。就像我现在用C#编程的时候,都使用的是Int32,Int64,直接指定是多少位的。

好像数值都可以隐式转换的。。大不了砍精度

int型是和平台有关的,
在16位的系统中它是16位,32位中是32位,64位系统中是64位
long型固定是32位