在没有内存分配/复制的情况下,C#是否可以在现有数组之上创建临时子数组?
答案 0 :(得分:1)
您可以使用ArraySegment
结构:
划分一维数组的一部分。
还要看一下这个问题:what is the use of ArraySegment class?
以下是斯蒂芬·肯尼迪回答的一个示例用法:
var array = new byte[] { 5, 8, 9, 20, 70, 44, 2, 4 };
array.Dump();
var segment = new ArraySegment<byte>(array, 2, 3);
segment.Dump(); // output: 9, 20, 70
segment.Reverse().Dump(); // output 70, 20, 9
segment.Any(s => s == 99).Dump(); // output false
segment.First().Dump(); // output 9
array.Dump(); // no change