sirve - ulong c#
Establecer valores en valores negativos utilizando literales hexadecimales en C# (5)
¿Hay alguna manera de establecer un int
en un valor negativo utilizando un literal hexadecimal en C #? Revisé la especificación en los literales enteros, pero no mencionó nada.
Por ejemplo:
int a = -1; // Allowed
int b = 0xFFFFFFFF; // Not allowed?
La notación hexadecimal es más clara para mi aplicación, y prefiero no usar uint
s porque necesitaría hacer un casting adicional.
Creo que puedes usar -0x1
con c #
Esto hará que el trabajo se realice sin operaciones sin marcar o casting.
int i = 0xFF << 24 | 0xFF << 16 | 0xFF << 8 | 0xFF;
Puedes usar la clase "Convertir":
string hex = "FF7F";
int myInt = Convert.ToInt32(hex, 16);
Tienes que lanzarlo y ponerlo en un contexto sin marcar.
unchecked {
int i = (int)0xFFFFFFFF;
}
Utilice la palabra clave sin marcar.
unchecked
{
int b = (int)0xFFFFFFFF;
}
o incluso más corto
int b = unchecked((int)0xFFFFFFFF);