This clause is informative.
Unary numeric promotion occurs for the operands of the predefined +, ?, and
~ unary operators. Unary
numeric promotion simply consists of converting operands of type sbyte,
byte, short, ushort, or char
to type int. Additionally, for the unary ? operator, unary numeric promotion
converts operands of type
uint to type long.
End of informative text.
Unary numeric promotion occurs for the operands of the predefined +, ?, and
~ unary operators. Unary
numeric promotion simply consists of converting operands of type sbyte,
byte, short, ushort, or char
to type int. Additionally, for the unary ? operator, unary numeric promotion
converts operands of type
uint to type long.
End of informative text.