據我瞭解,應該給你一個溢出錯誤,當我把它寫這樣的:爲什麼int.MaxValue - int.MinValue = -1?
public static void Main()
{
Console.WriteLine(int.MaxValue - int.MinValue);
}
它正確地給我一個溢出錯誤。
但是:
public static void Main()
{
Console.WriteLine(test());
}
public static Int32 test(int minimum = int.MinValue, int maximum = int.MaxValue)
{
return maximum - minimum;
}
將輸出-1 它爲什麼要這樣做呢?它應該拋出一個錯誤,因爲它顯然是一個溢出!
難道我是被教會2147483647的唯一的人 - ( - ?2147483648)實際上是4294967295 – Aelphaeis
是4294967295並不是一個int – harold
你會期望2147483647 - 2147483648給你什麼? –