Compression and decompression of a Byte() array — Visual Basic .NET

The following code wraps the DeflateStream class to compress and decompress a Byte() array.

Imports System.IO
Imports System.IO.Compression

''' <summary>
''' Compresses a Byte() array using the DEFLATE algorithm
''' </summary>
Function Compress(ByVal toCompress As Byte()) As Byte()
    ' Get the stream of the source file.
    Using inputStream As MemoryStream = New MemoryStream(toCompress)

        ' Create the compressed stream.
        Using outputStream As MemoryStream = New MemoryStream()
            Using compressionStream As DeflateStream =
                New DeflateStream(outputStream, CompressionMode.Compress)

                ' Copy the source file into the compression stream.
                inputStream.CopyTo(compressionStream)

            End Using

            Compress = outputStream.ToArray()

        End Using

    End Using
End Function

''' <summary>
''' Decompresses a Byte() array using the DEFLATE algorithm.
''' </summary>
Function Decompress(ByVal toDecompress As Byte()) As Byte()
    ' Get the stream of the source file.
    Using inputStream As MemoryStream = New MemoryStream(toDecompress)

        ' Create the decompressed stream.
        Using outputStream As MemoryStream = New MemoryStream()
            Using decompressionStream As DeflateStream =
                New DeflateStream(inputStream, CompressionMode.Decompress)

                ' Copy the decompression stream
                ' into the output file.
                decompressionStream.CopyTo(outputStream)

            End Using

            Decompress = outputStream.ToArray

        End Using
    End Using
End Function