如果我有一个字节数组创建了byte [] binBuffer = new byte [256]并且我填充了100个字节的数组,如果我只想将那100个字节传递给其他方法,是否可以在不创建的情况下完成一个100字节的新字节数组,从旧数组复制到新数组,然后传递新数组?有什么方法我可以传递前100个字节.我的应用程序特别适用于将数组传递给存储过程.
使用缓冲区时非常常见的模式是:
Foo(byte[] data, int offset, int count) {...}
图案.但是,您不能将它与SqlCommand
/参数一起使用,因为当您分配给参数时,它会占用整个缓冲区.你需要一个新的数组:
byte[] second = new byte[100]; Buffer.BlockCopy(first, firstOffset, second, 0, 100); param.Value = second;