public static void Store(DVector <short> vec, BinaryWriter writer) { byte[] buffer = new byte[vec.BlockCount * sizeof(short)]; int N = vec.Length; writer.Write(N); foreach (DVector <short> .DBlock block in vec.BlockIterator()) { Buffer.BlockCopy(block.data, 0, buffer, 0, block.usedCount * sizeof(short)); writer.Write(buffer, 0, block.usedCount * sizeof(short)); } }