如何将动态值传递给字节数组

时间:2015-08-31 18:28:17

标签: javascript c# arrays bytearray serial-communication

这是我的代码:

private void send_char_0(string R, string G, string B)
        {
            string r = R;
            string g = G;
            string b = B;
            string strData = null;
            int i = 0;
            byte[] data_array = new byte[3]{0xff,0xef,0xff};
        }

我分别在字符串R,G,B中添加了十六进制值,但是当我通过它们时 byte[] data_array = new byte[3]{R,G,B}; - >错误字符串无法转换为字节。

所以我尝试转换 dataarray [0] = Convert.ToByte(R),即Convert.ToByte(0xff) - >错误输入字符串格式不正确为0xff。需要有" ff"但我需要传递它作为" oxff"到串口。

任何人都可以帮助我

1 个答案:

答案 0 :(得分:0)

您将字符串传递给字节数组。 试试这个:

private void send_char_0(string R, string G, string B)
{
    byte r = byte.Parse(R,NumberStyles.HexNumber);
    byte g = byte.Parse(G,NumberStyles.HexNumber);
    byte b = byte.Parse(B,NumberStyles.HexNumber);
    byte[] data_array = new byte[3]{r,g,b};
 }

如果这些数据是正确的,您可能需要添加一些检查,因为它来自用户,