当您将BinaryPrimitive方法与C#8的新Range / Index功能结合使用时,我遇到了BinaryPrimitives仍可以使用数组的索引/范围切片,但不会将此更改传播到原始数组的情况
因此,主要问题是,如果索引/范围操作实际上创建了类似切片部分的故障安全副本之类的东西,那么在语法糖旁边使用它们到底有什么好处?而且,如果没有其他好处,那这两个操作为什么不像Span<T>
那样起作用?
var data= new byte[10];
BinaryPrimitives.WriteInt32LittleEndian(data[0..4], 4);
和
var data= new byte[10];
BinaryPrimitives.WriteInt32LittleEndian(new Span<byte>(data,0,4), 4);
我实际上希望第一个代码片段将更改传播到原始数组,因为我希望它是基于源数组的切片,就像Span一样。