首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C#中将byte []拆分为多个byte []数组

在C#中,可以使用以下方法将一个byte数组拆分为多个byte数组:

代码语言:csharp
复制
public static List<byte[]> SplitByteArray(byte[] source, int chunkSize)
{
    List<byte[]> result = new List<byte[]>();
    int count = (int)Math.Ceiling(source.Length / (double)chunkSize);
    for (int i = 0; i< count; i++)
    {
        byte[] chunk = new byte[chunkSize];
        int offset = i * chunkSize;
        int remaining = source.Length - offset;
        int size = Math.Min(chunkSize, remaining);
        Array.Copy(source, offset, chunk, 0, size);
        result.Add(chunk);
    }
    return result;
}

这个方法接受一个byte数组和一个chunkSize作为参数,并返回一个包含多个byte数组的List。它将原始byte数组分成多个大小为chunkSize的子数组,并将它们添加到结果列表中。最后,它返回结果列表。

例如,如果您有一个byte数组,如下所示:

代码语言:csharp
复制
byte[] source = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

您可以使用SplitByteArray方法将其拆分为大小为3的子数组,如下所示:

代码语言:csharp
复制
List<byte[]> result = SplitByteArray(source, 3);

这将返回一个包含三个byte数组的List,每个数组的大小为3。第一个数组将包含1、2和3,第二个数组将包含4、5和6,第三个数组将包含7、8和9。最后一个数组将包含10。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分31秒

039.go的结构体的匿名字段

领券