gpt4 book ai didi

c# - 来自字节数组切片的字符串

转载 作者:行者123 更新时间:2023-12-02 16:47:26 26 4
gpt4 key购买 nike

是否可以在不复制数组的情况下从字节数组的一部分生成字符串? (数组可能非常大,所以我想避免在内存中生成它的倍数)

我当前的代码涉及使用 Array.Copy:

var trimmedArray = new byte[inputArray.Length - bytesToTrim.Length];
Array.Copy(inputArray, bytesToTrim.Length, trimmedArray, 0, trimmedArray.Length);
var outputString = Encoding.UTF8.GetString(trimmedArray);

是否可以在不将 inputArray 复制到 trimmedArray 的情况下获取 outputString

最佳答案

GetString 有一个 overload它需要一个现有的数组、一个起始索引和一个长度,所以你应该能够做到:

var outputString = Encoding.UTF8.GetString(
inputArray,
bytesToTrim.Length,
inputArray.Length - bytesToTrim.Length);

但是请注意,你看的似乎不是bytesToTrim内容,只是看长度,所以不清楚这两个数组之间的关系是什么.

关于c# - 来自字节数组切片的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59934519/

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