I think there's hardly anything to explain here or give introduction about, the title says it all. I wrote a small function to zip directories recursively using the free and open-source ICSharpCode.SharpZipLib library.
So without saying many more things, here's the function: