日期:2014-05-17  浏览次数:21319 次

C# 如何截取byte[]数组..
我有一个byte[]数组,一个byte[] a=new byte[]{12,32,34,43,21,23,45,56,67,78,89,96,54,32,23,45,23};
我想截取a中第三位到第八位的数据怎么截取?

------解决方案--------------------
Buffer.BlockCopy
------解决方案--------------------

void Main()
{
    byte[] a = new byte[] { 12, 32, 34, 43, 21, 23, 45, 56, 67, 78, 89, 96, 54, 32, 23, 45, 23 };
  byte[] newA=  a.Skip(2).Take(5).ToArray();
  foreach (var b in newA)
  {
  Console.WriteLine(b);
  }
}
/*
34
43
21
23
45

*/

------解决方案--------------------
        byte[] a = new byte[] { 12, 32, 34, 43, 21, 23, 45, 56, 67, 78, 89, 96, 54, 32, 23, 45, 23 };
        byte[] b = new byte[6];
        Array.Copy(a, 3, b, 0, 6);
------解决方案--------------------
            byte[] a = new byte[] { 12, 32, 34, 43, 21, 23, 45, 56, 67, 78, 89, 96, 54, 32, 23, 45, 23 };

            foreach (byte v in a.Skip(2).Take(8))
            {
                Console.WriteLine(v);
            }