它不应该是整数类型吗?
这样,一些使用 int 的函数无法接受 this 作为参数,因为它返回一个 long 但他们期望一个 int
在 .NET 中,所有基本类型和一些标准化类型都有通用的内置类型别名。每个别名对应一个实际的 .NET 类型,别名和类型名称都可以互换使用。
这是 C# 中的一些别名的列表。其他 .NET 语言可能对相同类型使用不同的别名(例如 VB.NET)
字节-> System.Byte 短 -> System.Int16 整数-> System.Int32 长 -> System.Int64 字符串-> System.String ...
如您所见,System.Int64
表示一个 64 位整数,也就是 a long
。
Int64
是一种long
类型。
Int32
是一种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
Long == Int64 >>输出:真
Int == Int32 >>输出:真
Int64 == Int32 >>输出:假
如果 Long/Int64 足够小,您只能将其转换为 Int/Int32,但您始终可以将 Int 转换为 Long。Int64/Long 支持大于和小于标准 Int 的数字。