我有一个很长的字节数组。我需要消除前16个字节。是否有一种快捷的方法可以做到这一点?
这不是最有效率的方法,但可以解决问题:
// using System.Linq;
long[] array = ...;
long[] newArray = array.Skip(16).ToArray();
skip
不是数组的成员。为什么? - NewBie查看 Array.Copy
例如:
var array = //initialization
int bytesToEliminate = 16;
int newLength = array.Length - bytesToEliminate; //you may need to check if this positive
var newArray = new byte[newLength];
Array.Copy(array, bytesToEliminate, newArray, 0, newLength);
IList<byte>
而不是数组,你甚至不会有这个问题:你可以创建一个包装类,透明地将数组的索引映射到 16 个位置之后,就像 Jon 建议的那样,在目标函数内部不做任何更改。 - Konrad Rudolph