操作过程中溢出
在操作期间也会发生溢出。在以下示例中,x 是 int
,默认情况下 1 是 int
。因此,添加是一种添加。结果将是一个 int
。它会溢出。
int x = int.MaxValue; //MaxValue is 2147483647
long y = x + 1; //It will be overflown
Console.WriteLine(y); //Will print -2147483648
Console.WriteLine(int.MinValue); //Same as Min value
你可以使用 1L 来防止这种情况。现在 1 将是一个 long
,并且将添加一个 long
int x = int.MaxValue; //MaxValue is 2147483647
long y = x + 1L; //It will be OK
Console.WriteLine(y); //Will print 2147483648