Setting ints to negative values using hexadecimal literals in C#
c#, hex, integer
Solution
Use the unchecked keyword.
unchecked
{
int b = (int)0xFFFFFFFF;
}
or even shorter
int b = unchecked((int)0xFFFFFFFF);
Problem
Is there any way to set an `int` to a negative value using a hexadecimal literal in C#? I checked the specification on Integer literals but it didn't mention anything. For example: ``` int a = -1; // Allowed int b = 0xFFFFFFFF; // Not allowed? ``` Hexadecimal notation is clearer for my application, and I'd prefer not to use `uint`s because I would need to do some extra casting.