创建您的比较器类。它将包含您想要比较的文件的参数(在我的例子中是名称和大小)。然后将数据与您上传的文件一起上传到某个数据表并将其 linq 到文件列表。将文件从文件系统加载到另一个列表。并使用 Victor Mukherjee 方法查找结果列表。
你的文件类:
class UniqeFile
{
public string FileName;
public long Length;
}
你的代码:
DataTable yourDataTable;
DateTime yourBeginDateTime, yourEndDateTime;
var listA = new DirectoryInfo("yourPath").GetFiles().Where(fl => fl.CreationTime >= yourBeginDateTime && fl.CreationTime >= yourEndDateTime).Select(fl => new UniqeFile() { FileName = fl.Name, Length = fl.Length }).ToList();
var listB = yourDataTable.Select().Select(dr => new UniqeFile() { FileName = dr["fileName"].ToString(), Length = long.Parse(dr["fileSize"].ToString()) }).ToList();
var ListC = listB.Except(listB.Intersect(listA));