我想知道你是否可以帮我解释一件事。 我想知道为什么我不能将int.maxvalue和int.minvalue之间的差异保存为long类型的变量。
static void Main(string[] args)
{
int a = int.MaxValue;
int b = int.MinValue;
long c = a - b;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.ReadLine();
}
为什么我得到-1的结果,在这种情况下:
static void Main(string[] args)
{
long a = int.MaxValue - int.MinValue;
Console.WriteLine(a);
Console.ReadLine();
}
为什么我会:
错误CS0220在检查模式下,编译时操作溢出。
我很困惑,因为long类型的数字应该很容易存储int.max和int.min之间的差异?