número garantizar es echado correctamente en .NET
Pregunta
Sé que puedo asignar un valor específicamente a un flotador haciendo
float y = 4.5f;
Quiero hacer lo mismo, excepto como un byte. ¿Cómo hago esto? He revisado la documentación de MSDN y no puedo encontrar nada relacionado con esto. Además, ¿qué es esta llamada?
Gracias,
[Editar]
Para mayor claridad del código que estoy usando esto en es
byte myByte = a==b?1:0;
y el error que consigo es
No se puede convertir implícitamente el tipo 'int' a 'byte?'. Una conversión explícita existe (¿falta un yeso?)
Solución
byte myByte = (byte)(a==b?1:0);
Solución
El byte
, sbyte
, short
y datos ushort
tipos no tienen sufijos designados. Sin embargo, literal entero puede ser asignado a variables de estos tipos de datos y se convertirá implícitamente, suponiendo que el valor es apropiado para el almacenamiento en la variable. Sólo para que conste aquí están los literales definidas en C #:
uint: U or u
long: L or l
ulong: UL or ul
float: F or f
decimal: M or m
Otros consejos
Me sólo tiene que utilizar un yeso.
// Okay
Byte data = (Byte) 57;
// Error (but I don't know if it is a compiler error or a runtime error)
Byte data = (Byte) -17;
O introducir una constante.
// Okay
const Byte foo = 57;
Byte data = foo;
// Compiler Error
const Byte foo = -17;
Byte data = foo;
Según este post , byte no tiene tal sufijo.
No es necesario un sufijo al definir un byte:
byte b = 1;
Sólo tiene que asegurarse de que su valor está comprendido entre 0 y 255.
MSDN se refiere al uso de la F como un 'sufijo', forzando una Tipo literal.
Consulte el siguiente artículo en do sostenido en línea para obtener más información
notación hexadecimal:
Byte b = 0xFF;