這是什麼意思?爲什麼(如果有的話)它很重要?當他們說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. 是什麼意思:=在oracle中的意思是當我們使用它時
- 4. 當我們說一個類被加載時,我們的意思是什麼?
- 5. MIPS異常它們是什麼意思
- 6. Apache錯誤,它們是什麼意思?
- 7. Linux命令,它們是什麼意思?
- 8. 當他們說JavaScript是單線程時,這意味着什麼?
- 9. 當我們說同步(實例字段)時它是什麼意思..?
- 10. 當蘋果談到「記憶」時,它們是什麼意思?
- 11. 什麼「你應該可以`chown`他們」是什麼意思?
- 12. Git合併說,當他們不是的時候,文件被'我們刪除'
- 13. 邏輯地址是什麼意思,它們是什麼樣的?
- 14. 什麼是OS X會話類型,它們是什麼意思?
- 15. 我們的意思是什麼?要麼 ???
- 16. 堆棧跟蹤是什麼意思,當他們有兩個?
- 17. 什麼是'unsigned'意思是什麼時候它本身?
- 18. 當他這樣說時,我的精靈是什麼意思?
- 19. 什麼是BigInteger,我們什麼時候可以使用它?
- 20. CourseCompletions是什麼?它們是什麼時候創建的?
- 21. TestNG的:什麼是我們的意思是,當我們說運行時配置靈活TestNG中
- 22. IWbemClassObject :: Next當它們不是時產生VT_NULL類型。這是什麼意思?
- 23. 什麼是C++中的「set」?他們什麼時候有用?
- 24. 奇怪的aptana亮點。他們的意思是什麼?
- 25. 承諾是不可變的,它們的保證價值是什麼意思?
- 26. 當他們說React受XSS保護時,這意味着什麼?
- 27. 當他們說'有狀態'時,這意味着什麼?
- 28. 當它說接口的方法返回什麼時,API是什麼意思?
- 29. 這些標頭是什麼意思,它們的功能是什麼?
- 30. mysql select中的縮寫,它們是什麼意思?
很好的解釋,+1 – 2009-07-17 21:57:10