string[] files = System.IO.Directory.GetFiles(dir, "*.eml", System.IO.SearchOption.AllDirectories);
// dir:目录 *.eml:通配符
//AllDirectories包含子目录, TopDirectoryOnly: 只包含文件夹内的文件
for(int i=0; i< files.Length; i++)
{
string filename = Path.GetFileName(files[i]);
// ...
// filename就是你要的值
}