如果一个方法在linq查询中,它会被多次调用吗?我无法测试这个,因为我没有IDE。我正在学习linq,我使用在线c#编译器来运行程序。
var List<Customer> CustomerList = (From c in GetCustomerList()
Where c.Id > 1
Select c).ToList()
由于GetCustomerList方法在linq语句中,上面的代码是否会导致性能瓶颈?
答案 0 :(得分:1)
这是一个体面的问题,但你在这里很好。
LINQ查询语法被转换为方法调用。在你的情况下,
var List<Customer> CustomerList = GetCustomerList()
.Where(c => c.Id > 1)
.ToList();
如果您对此有疑问,请在Console.WriteLine
内添加对GetCustomerList()
的调用,或查看source以获取LINQ。