在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