C# statements executes in either checked or unchecked context. In a checked context, arithmetic overflow raises an exception. In an unchecked context, arithmetic overflow is ignored and the result is truncated.
short m = 32767;
short n = 32767;
int result1 = checked((short)(m + n)); //will ...