3

在此处输入图像描述

它不应该是整数类型吗?

这样,一些使用 int 的函数无法接受 this 作为参数,因为它返回一个 long 但他们期望一个 int

4

4 回答 4

19

在 .NET 中,所有基本类型和一些标准化类型都有通用的内置类型别名。每个别名对应一个实际的 .NET 类型,别名和类型名称都可以互换使用。

这是 C# 中的一些别名的列表。其他 .NET 语言可能对相同类型使用不同的别名(例如 VB.NET)

    字节-> System.Byte
    短 -> System.Int16
    整数-> System.Int32
    长 -> System.Int64
    字符串-> System.String
    ...

如您所见,System.Int64表示一个 64 位整数,也就是 a long

于 2013-06-05T08:03:25.717 回答
7

Int64是一种long类型。

Int32是一种int类型。

于 2013-06-05T08:01:20.613 回答
5

.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
于 2013-06-05T08:43:32.730 回答
1

Long == Int64 >>输出:真

Int == Int32 >>输出:真

Int64 == Int32 >>输出:假

如果 Long/Int64 足够小,您只能将其转换为 Int/Int32,但您始终可以将 Int 转换为 Long。Int64/Long 支持大于和小于标准 Int 的数字。

于 2013-06-05T08:04:33.160 回答