我有这个代码(感谢那些迄今为止一直在帮助的人)
它搜索目录和所有子目录以查找文件名。
Files.Clear(); //BindingList<FileInfo> Datasource for a datagridview
Task.Factory.StartNew( () =>
{
DirectoryInfo dir = new DirectoryInfo(MainFolder);
foreach(var file in dir.EnumerateFiles("*" + textBox1.Text + "*.doc?", SearchOption.AllDirectories).Take(200))
{
this.BeginInvoke( new Action(() =>
{
Files.Add(file);
}));
}
});
问题是,如果我设置textBox1.text
为我知道只有 1 个的东西,它会将其添加到Files
4 次。我尝试中断指向它以确保它不是我显示它的方式。
我将这 4 个对象相互比较,它们是相同的。当我稍微打开搜索条件并获得 5 个结果时,其中一些是 1,一些是两倍,一些是三倍。所以有 5 个独特的结果,但总共有 10-12 个。
我究竟做错了什么?