这是什么意思?为什么(如果有的话)它很重要?当他们说LINQ是可组合的时候,它们是什么意思?
3
A
回答
5
这意味着你可以将查询添加额外的“经营者”。这很重要,因为你可以非常有效地做到这一点。
例如,假设你有一个返回员工列表(枚举)的方法:
var employees = GetEmployees();
和使用一个返回所有经理的另一种方法:
IEnumerable<Employee> GetManagers()
{
return GetEmployees().Where(e => e.IsManager);
}
你可以调用该函数以获得即将退休的经理并向他们发送这样的电子邮件:
foreach (var manager in GetManagers().Where(m => m.Age >= 65))
{
SendPreRetirementMessage(manager);
}
流行测验:您的员工名单将迭代多少次?答案是,正好是一次;整个操作仍然只是O(n)!
此外,我不需要有单独的方法。我撰写这些步骤的查询都在同一个地方:
var retiringManagers = GetEmployees();
retiringManagers = retiringManagers.Where(e => e.IsManager);
retiringManagers = retiringManagers.Where(m => m.Age >= 65);
foreach (var manager in retiringMangers)
{
SendPreRetirementMessage();
}
这样做的一个很酷的事情是,我可以改变在运行时,这样我可以包括或不包括内的组合物的一个组成部分if
块,以便在运行时决定使用特定的过滤器,并且所有内容仍然很好,很漂亮。
4
我认为这意味着你可以菊花链的查询,这样
var peterJacksonsTotalBoxOffice
= movies.Where(movie => movie.Director == "Peter Jackson")
.Sum(movie => movie.BoxOffice);
相关问题
- 1. 当人们说“Perl非常擅长解析”时,他们的意思是什么?
- 2. 当人们说(写)生命周期测试时,他们的意思是什么?
- 3. MIPS异常它们是什么意思
- 4. 当苹果谈到“记忆”时,它们是什么意思?
- 5. Git合并说,当他们不是的时候,文件被'我们删除'
- 6. 什么是OS X会话类型,它们是什么意思?
- 7. 我们的意思是什么?要么 ???
- 8. 什么是'unsigned'意思是什么时候它本身?
- 9. 什么是BigInteger,我们什么时候可以使用它?
- 10. TestNG的:什么是我们的意思是,当我们说运行时配置灵活TestNG中
- 11. 什么是C++中的“set”?他们什么时候有用?
- 12. 承诺是不可变的,它们的保证价值是什么意思?
- 13. 模型类 - 他们真的是什么意思?
- 14. 当它说接口的方法返回什么时,API是什么意思?
- 15. 像_GNU_SOURCE这样的宏,它们是什么意思?
- 16. mysql select中的缩写,它们是什么意思?
- 17. python中的字符串变体 - 它们是什么意思?
- 18. 这些标头是什么意思,它们的功能是什么?
- 19. 什么是http标题,什么时候需要指定它们
- 20. 什么是JavaScript对象,它们什么时候有用?
- 21. MSDN是什么意思,当它说一些API不支持?
- 22. 当用前端PHP或其他方式说后端Java时,人们是什么意思?
- 23. MySQL加入?他们是什么?何时使用它们?
- 24. 是什么意思:是什么意思?
- 25. 当苹果谈到“图形状态”时,他们的意思是我创建的graphik还是它们的意思是我使用的设置?
- 26. PHP中的闭包...究竟是什么,他们什么时候需要使用它们?
- 27. Linux:VI - 当有人说“Command mode key sequence”时,他们在说什么?
- 28. 下面的说法是什么意思?
- 29. 当mr.developer说“包'django-quoteme'很脏时,究竟是什么意思。”
- 30. flink Windows,它们什么时候启动
很好的解释,+1 – 2009-07-17 21:57:10