как насчет использования оператора соединения. присоединиться к имени файла, как это
public void cleanUp()
{
var cFiles = Directory.GetFiles(@"c:\MyData","*.*",SearchOption.AllDirectories);
var fFiles = Directory.GetFiles(@"e:\projects\massdata","*.*",SearchOption.AllDirectories);
Func<string, string, Tuple<string, long>> keySelector = (path, root) =>
new Tuple<string, long>(path.Replace(root, ""), new FileInfo(path).Length);
foreach (var file in cFiles.Join(fFiles, f => keySelector(f,@"e:\projects\massdata"), c => keySelector(c,@"c:\MyData"), (c, f) => c))
{
File.Delete(file);
}
}
Второе редактирование после обновления:
Селектор ключей теперь должен соответствовать вашим требованиям. Если я их неправильно понял. Конечно, это будет довольно легко, поэтому посмотрите, что вам нужно изменить. Если нет, оставьте комментарий:)