ulong关键字表示一个长整型数据,它的范围是0到18,446,744,073,709,551,615之间的无符号整数值整数值。long关键字是System.UInt64的别名。
观察下面的例子
namespace HelloWorld
{
internal class Program
{
static void Main(string[] args)
{
ulong number = 18446744073709551615L; //声明number变量并且初始化值=开辟了内存
Console.WriteLine($"number = {number}");
Console.WriteLine(number.GetType());
Console.WriteLine($"ulong占内存大小:{sizeof(ulong)}字节");
Console.WriteLine($"ulong最小值:{ulong.MinValue}");
Console.WriteLine($"ulong最大值:{ulong.MaxValue}");
number = number + 1; //
Console.WriteLine($"number = {number}");
Console.ReadKey();
}
}
}
输出结果
number = 18446744073709551615
System.UInt64
ulong占内存大小:8字节
ulong最小值:0
ulong最大值:18446744073709551615
number = 0
我们给number赋值为ulong的最大值,最后在它基础上又加1,此时发生溢出,number所指向的内存空间实际存储的数据为0。
在C#中,除了decimal能表示128位的数据,其它的数值型数据都未能超过64位。
——重庆教主 2024年1月10日