largo - ulong c#
Diferencia de uso de int y uint y cuándo usar (3)
En primer lugar, uint no es compatible con CLS (otros idiomas, que apuntan a la plataforma .NET no necesariamente lo implementan), y debe evitar usarlo en una api pública siempre que sea posible. Bueno, y por supuesto que difieren por rango (0 ... 4,294,967,295) para uint y (-2,147,483,648 a 2,147,483,647) para int.
¿Cuál es la diferencia entre usar int y uint? Todos los ejemplos que he visto hasta ahora están usando int para enteros. ¿Alguna ventaja de usar uint? Gracias.
La principal diferencia es que simplemente int está firmado, mientras que uint está sin firmar. Debido a que uint no permite números negativos, tiene un rango de 0 a 4,294,967,295, en comparación con el rango de -2,147,483,648 a 2,147,483,647 para un int.
Si tiene un escenario en el que no puede tener enteros negativos o no tiene sentido tener un valor negativo, entonces los enteros sin signo pueden ser una buena opción. Sin embargo, si no necesita el rango adicional y simplemente nunca baja de 0, entonces realmente no importa y puede guardar un personaje usando un int.
uint
significa unsigned int, puede usarlo para un rango de 0 .. + 4G
donde el normal (firmado) int tiene un rango de -2G .. + 2G.
¿Cuándo usarlo? Casi nunca. No es un tipo compatible con CLS, por lo que nunca debe usarlo en la interfaz pública de un ensamblaje. No todos los lenguajes .NET pueden manejarlo.
Su uso principal es P / Invoke a código no administrado y algunas situaciones raras de máscara de bits. En .NET, hacemos la mayoría de las máscaras de bits con ints firmados normales.