0
在C#中,是否可以在沒有內存分配/複製的情況下在臨時數組上創建臨時子數組?沒有內存分配(複製)的C#子陣列
在C#中,是否可以在沒有內存分配/複製的情況下在臨時數組上創建臨時子數組?沒有內存分配(複製)的C#子陣列
可以使用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