比较两个文件夹不同文件,并输出不同文件文件名 代码问题

前台运行 什么都不显示 两个文件夹在e盘下 请大神指出问题

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
GetDif((@"E:\文件夹1\"),@"E:\文件夹2\");
}
public string GetDif(string folder1, string folder2)
{

        string diff = "", filename;
        string[] fns1 = Directory.GetFiles(folder1), fns2 = Directory.GetFiles(folder2);
        Hashtable ht = new Hashtable();
        foreach (string fn in fns1)
        {

            filename = Path.GetFileName(fn); 
            ht[filename] = 0;//标记目录1和目录2所有文件名不一样
        }
        foreach (string fn in fns2)
        { //找出目录2不再目录1中存在的文件名
            filename = Path.GetFileName(fn);
            if (ht.ContainsKey(filename)) ht[filename] = 1;//一样
            else
           {
               diff += fn + "\n";
           }
        }
        List<string> difs = new List<string>(fns1);
        difs.AddRange(fns2);
        foreach (string fn in difs.Distinct<string>())
        {
            Console.WriteLine(fn);
        }
       foreach (string fn in ht.Keys) if (ht[fn].ToString() == "0") diff += folder1 + "\\" + fn + "\n";//得到目录1和目录2不一样文件名
       return diff; 
    }
}

}

图片说明

你都没有输出内容,只是执行了获取不同的函数而已
如果winform组件自己split下得到string数组,然后添加到组件里面

 MessageBox.Show(GetDif((@"E:\文件夹1\"),@"E:\文件夹2\"))

List difs = new List(fns1);
difs.AddRange(fns2);
foreach (string fn in difs.Distinct())
{
Console.WriteLine(fn);
}

用 Beyond compare 试试就知道了