Créer fichier zip à partir de byte[]

Je suis en train de créer un fichier Zip dans .NET 4.5 (Système d'.IO.La Compression) à partir d'une série de tableaux d'octets. Par exemple, à partir d'une API, je suis à l'aide, je me retrouve avec un List<Attachment> et chaque Attachment a une propriété appelée Body qui est un byte[]. Comment puis-je effectuer une itération sur cette liste, et de créer un fichier zip qui contient chaque pièce jointe?

Maintenant je suis sous l'impression que j'aurais à écrire chaque pièce jointe sur le disque et créer le fichier zip à partir de cela.

//This is great if I had the files on disk
ZipFile.CreateFromDirectory(startPath, zipPath);
//How can I create it from a series of byte arrays?