【发布时间】:2021-12-29 10:06:10
【问题描述】:
我正在尝试实现一些逻辑来比较远程服务器和本地服务器之间的文件信息。
我需要比较本地文件夹和远程文件夹之间的文件名并只下载新文件。
我尝试在列表中使用加载文件并使用Except 函数,但它不起作用。
感谢您的帮助。
请找出我尝试过的场景之一。
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
const string remotePath = "/Test";
const string localPath = @"C:\Local";
const string ArchivePath = @"C:\Users\Local\Archive";
System.IO.DirectoryInfo dir2 = new System.IO.DirectoryInfo(ArchivePath);
RemoteDirectoryInfo dir1 = session.ListDirectory(remotePath);
IEnumerable<System.IO.FileInfo> list2 =
dir2.GetFiles("*.*", System.IO.SearchOption.AllDirectories);
IEnumerable<RemoteFileInfo> list1 =
session.EnumerateRemoteFiles(remotePath, "*.csv", EnumerationOptions.None);
var firstNotSecond = list1.Except(list2).ToList();
}
得到类似的错误
“IEnumerable”不包含“Except”的定义,最佳扩展方法重载“Queryable.Except(IQueryable, IEnumerable)”需要“IQueryable”类型的接收器
【问题讨论】:
标签: c# .net winscp except winscp-net