C# 为什么Int64.MaxValue是长的?
它不应该是整数类型吗C# 为什么Int64.MaxValue是长的?,c#,C#,它不应该是整数类型吗 这样,一些使用int的函数无法接受它作为参数,因为它返回一个long,但它们期望intInt64是一个long类型 Int32是一种int类型。在.NET中,所有基本类型和一些标准化类型都有常见的内置的类型别名。每个别名对应一个实际的.NET类型,别名和类型名都可以互换使用 下面列出了C#中的一些别名。其他.NET语言可能对相同类型使用不同的别名(如VB.NET) 字节->系统字节 short->System.Int16 int->System.Int32 long->Sy
这样,一些使用int的函数无法接受它作为参数,因为它返回一个long,但它们期望int
Int64
是一个long
类型
Int32
是一种int
类型。在.NET中,所有基本类型和一些标准化类型都有常见的内置的类型别名。每个别名对应一个实际的.NET类型,别名和类型名都可以互换使用
下面列出了C#中的一些别名。其他.NET语言可能对相同类型使用不同的别名(如VB.NET)
字节->系统字节
short->System.Int16
int->System.Int32
long->System.Int64
string->System.string
...
如您所见,System.Int64
表示一个64位整数a.k.along
Long==Int64>>输出:True
Int==Int32>>输出:真
Int64==Int32>>输出:False
如果长/Int64足够小,则只能将其转换为Int/Int32,但始终可以将Int转换为长。Int64/Long支持大于或小于标准Int的数字。.NET对某些类型使用类型别名。这意味着类型别名与其相对值类型完全等效。从下面的列表中可以看到,System.Int64的类型别名为“long”。下面是.NET中类型别名的完整列表
//Alias | Relative Data Type
byte | System.Byte
sbyte | System.SByte
short | System.Int16
ushort | System.UInt16
int | System.Int32
uint | System.UInt32
long | System.Int64
ulong | System.UInt64
float | System.Single
double | System.Double
decimal | System.Decimal
string | System.String
bool | System.Boolean
object | System.Object
因为Int64==longint64是一个long
long
是Int64
的同义词int
是Int32
的同义词。对C#来说不是特别的。VB.NET也有同样的功能。哦,好的。。它被称为Int64让我很吃惊off@MattWilko不完全是这样,VB中的别名是不同的。例如,您有Integer
,而不是int
。我已经提到了C#特定的语言。我的观点是,你的回答推断C#是唯一有别名的语言,但你现在的回答澄清了这一点。@MattWilko,请原谅我延迟回复。是的,你在我的文章的早期版本中是正确的,这就是我编辑它的原因,所以感谢你的关注。我必须承认,我发现从第一次开始写一篇精彩的文章很难,但很高兴有了维基编辑功能。long
是一个在C#规范中没有出现的短语,所以我不确定你的意思。@aakashm me,thx,编辑了答案。“在.NET中,基本类型只是其等效结构的捷径”-你的意思可能是“在C#中,某些数据类型关键字与某些System
值类型完全等效”?
//Alias | Relative Data Type
byte | System.Byte
sbyte | System.SByte
short | System.Int16
ushort | System.UInt16
int | System.Int32
uint | System.UInt32
long | System.Int64
ulong | System.UInt64
float | System.Single
double | System.Double
decimal | System.Decimal
string | System.String
bool | System.Boolean
object | System.Object