gpt4 book ai didi

c# - 将数组的一部分添加到列表的内存有效方法

转载 作者:行者123 更新时间:2023-12-03 20:50:18 27 4
gpt4 key购买 nike

假设我有以下变量:

byte[] fileData;
List<byte> bundleData;

我想获取 fileData 的连续部分并将其添加到 bundleData。我目前的方法基本上如下:

int startIndex = 20, endIndex = 80;
byte[] transferredData = new byte[endIndex - startIndex];
Array.Copy(fileData, startIndex, transferredData, 0, transferredData.Length);
bundleData.AddRange(transferredData);

创建中间数组工作正常,但它使用了一个看似不必要的副本。有没有办法直接添加数据,而不使用冗余数组?

作为引用,我在此项目中使用 .NET 2.0。

最佳答案

另一种(可能有效的)方法是使用 LINQ:

bundleData.AddRange(fileData.Skip(startIndex).Take(endIndex - startIndex));

关于c# - 将数组的一部分添加到列表的内存有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17681538/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com