public unsafe bool TryGetArray(out ArraySegment <T> buffer) { if (!_owner.TryGetArray(_id, out buffer)) { return(false); } buffer = new ArraySegment <T>(buffer.Array, buffer.Offset + _index, _length); return(true); }