问题:
Byte[] mbyte = new Byte[16];
String[] mstr=new String[16]mstr里面的元素是aa f1 02 01 02 03 01 02 03 04 01 02 03 0c 51 ff如何将mstr里的元素挨个放入mbyte 里面????

解决方案 »

  1.   

    public static sbyte ToSByte (
    string value
    )for( int i=0;i<16;i++ ){
    mbyte[i] = Convert.ToSByte(mstr[i]);
    }
      

  2.   

    byte[] mbyte = Array.ConvertAll<string, byte>(mstr, delegate(string s) { return Convert.ToByte(s, 16); });
      

  3.   

    1楼的报错!无法将sbyte隐式转换为Byte。
    mbyte是byte类型的,你的方法返回的是sbyte 类型;
      

  4.   

    2楼“System.Array”并不包含“ConvertAll”的定义注明下,我的程序是PDA上跑的!
      

  5.   

    byte 表示一个8位的你的string里的aa ,f1 转换后会丢失
      

  6.   


    好像不行吧,mbyte的空间不够啊,即使将mstr转换后,也只能把前面一部分放到mbyte中去。建议参考函数:System.Text.Encoding.UTF8.GetBytes(string str);//将字符串转换为字节数组
      

  7.   


    你把它改成Convert.ToByte呗,不行么?
      

  8.   

    System.Text.Encoding.ASCII.GetBytes(string str)
      

  9.   

    1楼的!mbyte[i] = Convert.ToSByte(mstr[i]);我换成mbyte[i] = Convert.ToByte(mstr[i]);
    也不行,问题在于,只能转换数字形式的字符串!如果是ff或aa就不能转换了!
      

  10.   

    byte     System.Byte (字节型,占 1 字节,表示 8 位正整数,范围 0 ~ 255)
    sbyte    System.SByte (带符号字节型,占 1 字节,表示 8 位整数,范围 -128 ~ 127)
      

  11.   

    补充一下:我希望的效果是:存入mbyte后,AA变成170,ff变成255。
      

  12.   

    public static sbyte ToByte(
        string value
    )for( int i=0;i<16;i++ ){
    mbyte[i] = Convert.ToByte(mstr[i],16);
    }
      

  13.   

    16楼正解,非常感谢!Convert.ToByte (String, IFormatProvider) 
    使用指定的区域性特定格式信息,将数字的指定 String 表示形式转换为等效的 8 位有符号整数。
      

  14.   

    一楼的简单,二楼的正统。
    PDA没搞过,不知道为什么