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);
¿Fue útil?

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;

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top