我有一个大字节数组,我将它分成 1000 个字节的多字节数组并处理它们。我正在使用 IEnumerable,我可以使用 foreach 循环,但我想知道我正在使用的 IEnumerable 中的数组数量。我可以获得总数,但不知道我正在处理的字节数组数量,所以谁能帮我弄清楚如何实现这一点?如果您需要更多详细信息,请告诉我。
public static IEnumerable<byte[]> SplitSourceBytes(byte[] SrcBytes, int size)
{
int srcLenght = SrcBytes.Length;
byte[] source = null;
int i = 0;
for (; srcLenght > (i + 1) * size; i++)
{
source = new byte[size];
Array.Copy(SrcBytes, i * size, source, 0, size);
yield return source;
}
int sourceLeft = srcLenght - i * size;
if (sourceLeft > 0)
{
source = new byte[sourceLeft];
Array.Copy(SrcBytes, i * size, source, 0, sourceLeft);
yield return source;
}
}