In 7.8.3. of the C# Specification regarding the Remainder operator it states the following:
If the left operand is the smallest int or long value and the right operand is -1, a System.OverflowException is thrown.
Therefore int.MinValue % -1
would result in an OverflowException. I am trying to understand why?