public static byte[] Compress(byte[] data, ECompressionType compressType) //, int start = 0, int count = 0) { byte[] compressedData; switch (compressType) { case ECompressionType.LzMa: compressedData = SevenZipHelper.CompressData(data); break; case ECompressionType.Lz4: //LZ4 case ECompressionType.Lz4Hc: //LZ4HC compressedData = new byte[LZ4Codec.MaximumOutputSize(data.Length)]; var compressedSize = LZ4Codec.Encode(data, 0, data.Length, compressedData, 0, compressedData.Length); Array.Resize(ref compressedData, compressedSize); break; //case CompressionType.LzHam: //LZHAM case ECompressionType.None: //None default: { compressedData = data; break; } } return(compressedData); }