解决方案 »

  1.   

    string[] subs = a.Split(' ');
    byte result[]  = new byte[subs.Length];
    Split得到数组subs,然后循环转换,
    result[i]= Int32.Parse(subs[i], "0X");
      

  2.   


     var a = "5A-5C-1A-00-00-00-AE-FE-0A-17-17-A1-00-03-01-DF-FD-09-09-01-02-03-F6-DE-00-A5";
     var by = s.Split('-').Select(x => Convert.ToByte(x, 16)).ToArray();
    拿走不客气...
      

  3.   


     var a = "5A-5C-1A-00-00-00-AE-FE-0A-17-17-A1-00-03-01-DF-FD-09-09-01-02-03-F6-DE-00-A5";
     var by = s.Split('-').Select(x => Convert.ToByte(x, 16)).ToArray();
    这个代码试过,但是并不是每个16进制的字符串都可以,
      

  4.   

    我是用c#的,想给PLC输入一个例如0x98 这种字符,但是一直没转换成功,网上的也看了,但是又些数值没转换成功
      

  5.   

    使用convert类的成员函数进行转换。
    首先分割得到十六进制的每个字符串(都是2个字符的字符串),使用split分割可以得到这样的字符串数组。
    string []AS=a.Split(" ");
    byte [] bs=new byte[AS.length];
    循环遍历AS数组,逐个进行转换:
    bs[i]= Convert.ToByte(AS[i], 16);