Not extremely well commented, but I think the code is pretty simple and self-explanatory. Also not intended to be any kind of complete app, but just a "here's how it's done" sample. In real life, you'd probably want Properties for all the individual Contact items, instead of returning a big string with all of them in it like I did here. There are also other methods I didn't make use of for this sample. Find and FindNext, for example, would probably be pretty useful to include in the class. I always like to leave something for the reader to play with.

To use this, you'll need to include the Outlook COM Library Reference (when will MS ever bring Office into the .Net fold?? ).