offsethere is the offset in the array from which to start writing. In your case, just install:
stream.Position = 3147483648;
and then use Read(). offsetmost commonly used when you know that you need to read [n] bytes:
int toRead = 20, bytesRead;
while(toRead > 0 && (bytesRead = stream.Read(buffer, offset, toRead)) > 0)
{
toRead -= bytesRead;
offset += bytesRead;
}
if(toRead > 0) throw new EndOfStreamException();
20 buffer ( ). , Read() , , .