在C#中long与int64有啥区别吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#中long与int64有啥区别吗相关的知识,希望对你有一定的参考价值。

急急急急??????
为什么存储过程中返回值为int 调用存储过程的方法要求参数为long型
回来又有个int64 他们之间有什么关系,他们之间可以自动转换吗?
如果参数为long 传入int64行不行呀

long与int64都是C#的整数类型,它们唯一的区别是在声明方式上的不同。long采用了值类型的声明方式,是System.Int64的一个实例;int64采用了引用类型的声明方式,直接运用System.Int64声明。它们二者之间是可以自动转换的。

扩展资料:

1、long:编程语言中的长整形数据类型,是long int的缩写,它的表示范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807,在C#中是System.Int64的一个实例。

2、int64:是有符号64位整型数据类型,表示的范围从-9223372036854775808到9,223,372,036,854,775,807,在C#语言中是System.Int64的引用实例。

3、值类型:值类型是直接将值存储在栈内的,是一个对象的实例,在C#的中,long、int、float、char、bool、enum、struct都是值类型,它们都继承System.ValueType。

4、引用类型:数据存储在内存堆中,而内存中只存放数据的地址,在C#中引用类型包括类,接口,委托等。

参考技术A

在C#中long与int64区别为:对象不同、声明方式不同、精度不同。

一、对象不同

1、long:long是C#基本库System.Int64里的一个实例对象。

2、int64:int64是C#基本库System.Int64里的一个定义对象。

二、声明方式不同

1、long:long在C#中采用了值类型的声明方式。

2、int64:int64在C#中采用了引用类型的声明方式。

三、精度不同

1、long:long是长整形数据类型,数据转换为int64不会失精度。

2、int64:int64是整形数据类型,数据转换为long会失精度。

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

所以rightmin的担心是不必要的,.NET为了消除这些差异和不明确性做了很多工作,所以.net程序可以跨平台,只要有对应的CLR。本回答被提问者采纳
参考技术C C#中,基本数据类型是不受操作系统位数限定的。
比如:32位操作系统和64位操作系统它们的int型都是表示的32位=4个字节。
C++中,基本数据类型是受操作系统位数限定的。
比如:32位操作系统它的int型表示32位,16位操作系统的int型表示16位。
C#中long的位数是64位,对应int64.
参考技术D int型是和平台有关的,
在16位的系统中它是16位,32位中是32位,64位系统中是64位
long型固定是32位

以上是关于在C#中long与int64有啥区别吗的主要内容,如果未能解决你的问题,请参考以下文章

C#中long和int的区别?

int short long有啥区别?

Java中long和Long有啥区别

C#中Toint16 Toint32 Toint64 有啥区别?

C语言中short与int有啥区别

ACM中关于__int64与long long 的区别