public T[] PopArray <T>() { long len = 0; if (!unpacker.ReadArrayLength(out len)) { return(null); } T[] ts = new T[len]; for (int i = 0; i < len; i++) { ts[i] = unpacker.Unpack <T>(); } return(ts); }
public T[] GetArray <T>(int index) { MemoryStream s = new MemoryStream(buff); Unpacker _unpacker = Unpacker.Create(s); for (int i = 0; i < index; i++) { _unpacker.Skip(); } long len = 0; if (!_unpacker.ReadArrayLength(out len)) { return(null); } T[] ts = new T[len]; for (int i = 0; i < len; i++) { ts[i] = _unpacker.Unpack <T>(); } _unpacker.Dispose(); s.Close(); return(ts); }