值类型:ulong

ulong 关键字表示一种整型,该类型根据下表显示的大小和范围存储值。

 

类型

范围

大小

.NET Framework 类型

ulong

0 到 18,446,744,073,709,551,615

无符号 64 位整数

System.UInt64

本在线速查手册由www.w∧3∧x∧u∧e.com提供,请勿盗用!

标识符

可如下例所示声明并初始化 ulong 类型的变量:

ulong uLong = 9223372036854775808;
本在线速查手册由www.w∧3∧x∧u∧e.com提供,请勿盗用!

如果整数没有后缀,则其类型为以下类型中可表示其值的第一个类型:intuintlong、ulong。在上面的示例中,它是 ulong 类型。

还可根据以下规则使用后缀指定文字类型:

此后缀常用于调用重载方法。以下面使用 ulong 和 int 参数的重载方法为例:

public static void SampleMethod(int i) {}
public static void SampleMethod(ulong l) {}
本在线速查手册由www.w∧3∧x∧u∧e.com提供,请勿盗用!

在 ulong 参数后加上后缀可保证调用正确的类型,例如:

SampleMethod(5);    // Calling the method with the int parameter
SampleMethod(5UL);  // Calling the method with the ulong parameter
本在线速查手册由www.w∧3∧x∧u∧e.com提供,请勿盗用!

转换

存在从 ulong 到 floatdouble 或 decimal 的预定义隐式转换。

不存在从 ulong 到任何整型的隐式转换。例如,不使用显式类型转换时,下列语句将产生编译错误:

long long1 = 8UL;   // Error: no implicit conversion from ulong
本在线速查手册由www.w∧3∧x∧u∧e.com提供,请勿盗用!

存在从 byteushortuint 或 char 到 ulong 的预定义隐式转换。

同样,不存在从浮点型到 ulong 类型的隐式转换。例如,除非使用显式强制转换,否则以下语句将生成一个编译器错误:

// Error -- no implicit conversion from double:
ulong x = 3.0;
// OK -- explicit conversion:
ulong y = (ulong)3.0;  
本在线速查手册由www.w∧3∧x∧u∧e.com提供,请勿盗用!

有关兼用浮点型和整型的算术表达式的信息,请参见 float 和 double

有关隐式数值转换规则的更多信息,请参见 隐式数值转换表(C# 参考)