title: Reading parts of large files from drive
body: <p>I'm working with large files in C# (can be up to 20%-40% of available memory) and I will only need small parts of the files to be loaded into memory at a time (like 1-2% of the file).  I was thinking that using a FileStream would be the best option, but idk.  I will need to give a starting point (in bytes) and a length (in bytes) and copy that region into a byte[].  Access to the file might need to be shared between threads and will be at random spots in the file (non-linear access).  I also need it to be fast.</p>
  
  <p>The project already has <code>unsafe</code> methods, so feel free to suggest things from the more dangerous side of C#</p>