[英]What's the best method of determining the difference between an Int64 variable and Int64.MaxValue?
[英]Why does Int64.MaxValue return a Long?
哇讽刺的是 ,今天玩的时候我想知道是否可以在某种程度上增加Int64.MaxValue,并且刚刚建立起Int64.MaxValue不是Int64而是Long。
为什么会这样,如果我像Int64 myInt = Int64.MaxValue;
一样存储Int64 myInt = Int64.MaxValue;
比myInt仍然是一个Int或它将变成Long,在这个领域存储一个Long而不是Int64
的目的是什么。
因为Int64和long是同一类型。
Int64 = long
Int32 = int
Int16 = short
long
是Int64
的同义词
参考: http : //msdn.microsoft.com/en-us/library/ctetwysk(v = VS.100).aspx
long
只是Int64
的别名。 看到这里 。
从语言规范:
简单类型的成员直接对应于简单类型别名的结构类型的成员:
•
long
的成员是System.Int64
结构的成员。
您可以在§3.4.2中看到其他别名。
从4.1.4开始:
C#提供了一组称为简单类型的预定义结构类型。 简单类型通过保留字标识,但这些保留字只是System命名空间中预定义结构类型的别名,如下表所述。
Reserved word Aliased type
long System.Int64
Int64很长:
Type t1 = typeof(Int64);
Type t2 = typeof(long);
bool same = t1.Equals(t2); // true
查看MSDN:
Int16
, Int32
和Int64
分别别名为short
, int
和long
。 请注意,该数字是用于存储该值的位数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.