C# 为什么Int64.MaxValue返回长字符串?

C# 为什么Int64.MaxValue返回长字符串?,c#,.net,design-patterns,architecture,C#,.net,Design Patterns,Architecture,嗯,这很有讽刺意味,今天玩的时候,我想知道a是否可以在某种程度上增加Int64.MaxValue,刚刚发现Int64.MaxValue不是Int64,而是一个很长的值 为什么,这是否意味着如果我像Int64 myInt=Int64.MaxValuemyInt仍将是一个Int或将成为Long,在该字段中存储Long而不是Int64的目的是什么。Long是Int64的同义词 参考资料:long只是Int64的别名。看 因为Int64和long是同一类型 Int64 = long Int32

嗯,这很有讽刺意味,今天玩的时候,我想知道a是否可以在某种程度上增加Int64.MaxValue,刚刚发现Int64.MaxValue不是Int64,而是一个很长的值


为什么,这是否意味着如果我像
Int64 myInt=Int64.MaxValue
myInt仍将是一个Int或将成为Long,在该字段中存储Long而不是
Int64
的目的是什么。

Long
Int64
的同义词


参考资料:

long
只是
Int64
的别名。看

因为Int64和long是同一类型

Int64 = long    
Int32 = int    
Int16 = short
Int64是一个长代码:

        Type t1 = typeof(Int64);
        Type t2 = typeof(long);
        bool same = t1.Equals(t2);  // true
查看MSDN:


Int16
Int32
Int64
分别别名为
short
int
long
。请注意,数字是用于存储值的位数。

来自语言规范:

简单类型的成员直接对应于简单类型别名为的结构类型的成员:

•长
long
的成员是
系统.Int64
结构的成员

您可以在§3.4.2中看到其他别名

从4.1.4开始:

C#提供了一组预定义的结构类型,称为简单类型。简单类型通过保留字标识,但这些保留字只是系统命名空间中预定义结构类型的别名,如下表所述


旁注:不能增加或减少MaxValue。它不限制Int64(或任何其他具有MaxValue的类型),它更多的是指示该类型可以有多大。
Reserved word Aliased type
long          System.Int64