[ Foro de C# ]

fallo operacion con bytes

25-Oct-2012 15:41
tomario ma
3 Respuestas

hola buenas,
mi problema leo de un fichero binario unos datos(no todos) y tengo que crear esta funcion y me da este fallo y no se porque


public static byte CAN_MSG_DIR(byte num)
    {
        byte x = 0x0F;
        byte resul= num & x;
        return resul;    
    }


muchas gracias


25-Oct-2012 16:06
tomario ma

basicamente quiero hacer la operacion and de dos bytes, gracias


28-Oct-2012 09:41
Nacho Cabanes (+84)

Efectivamente, te aparecerá este mensaje de error:

Error CS0266: No se puede convertir implícitamente el tipo 'int' en 'byte'. Ya existe una conversión explícita (compruebe si le falta una conversión)

Es decir, el resultado de la operacion AND es un "int", no un "byte", así que debes convertir de un tipo a otro, por ejemplo así:


using System;

public class PruebaAnd
{

    public static byte CAN_MSG_DIR(byte num)
    {
        byte x = 0x0F;
        byte resul= (byte) (num & x);
        return resul;    
    }

    public static void Main()
    {
        Console.WriteLine(CAN_MSG_DIR(255));
    }
}


28-Oct-2012 11:12
tomario ma

muchas gracias!!!






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)