Насколько я понимаю, это должно привести к ошибке переполнения и когда я напишу его следующим образом:
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 Почему он это делает? Он должен выкинуть ошибку, потому что ее явно переполнение!