大きなバイト配列があり、それを 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;
}
}