>Curious as to why you don't use String.Empty for your empty string comparison? Also initialize fileName = String.Empty.
There differences between the two are really minor. To check if a string actually is empty I actually tend to actually use something like fileName.Length == 0.
Here's an interesting (short) comment about it:
http://blogs.msdn.com/brada/archive/2003/04/22/49997.aspx