这两种说法中哪种更快/更好?
myList.Where(x =>
{
bool itemOne= x.ItemOne == paramItemOne;
bool itemTwo = x.ItemTwo == paramItemTwo;
return itemOne && itemTwo;
})
myList.Where(x => x.ItemOne == paramItemOne).Where(x=>x.ItemTwo == paramItemTwo)
还是一样?
最佳答案
我不会说。最快的将是:
myList.Where(x => x.ItemOne == paramItemOne && x.ItemTwo == paramItemTwo)
(假设编译器/ JIT无法优化您的第一种形式的变量分配)
第二种形式会更慢,因为它可能涉及对提供给Where语句的委托进行更多的方法调用。
关于c# - Linq方法主体最佳实践问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2429084/