在LINQ to对象是有这个代码之间在执行任何区别:LINQ到对象多条语句与单个语句
var changedFileIDs = updatedFiles.Where(file => file.CurrentVersion != file.OriginalVersion).Select(file => file.ID);
var changedVaultFiles = filesToUpdate.Where(x => changedFileIDs.Contains(x.ID));
foreach (var file in changedVaultFiles)
{
Vault.Upload(file);
}
和验证码?
var changedVaultFiles = filesToUpdate.Where(x => updatedFiles.Where(file => file.CurrentVersion != file.OriginalVersion).Select(file => file.ID).Contains(x.ID));
foreach (var file in changedVaultFiles)
{
Vault.Upload(file);
}
不,性能没有差异。 (除非你没有在第一个集合中调用'ToArray') – 2016-08-17 13:07:11