C# 最美的地方涮雷。
也是函數(shù)式編程之美妻枕。
-
Any()
All()
一類的條件存在判斷
需求:判斷集合內有沒有任意\所有一個滿足某種需求
//集合里的任意一個item的Name屬性為Tony的
Assert.IsTrue(list.Any(item => item.Name=="Tony"))
//集合里的所有item的Name屬性為Tony的
Assert.IsFalse(list.All(item => item.Name=="Tony"))
-
Where
和SQL
里的where很像芥丧,類似于[對滿足如下條件的]磷脯。
需求:主要是配合其他LINQ function 工作客年。 -
Select
[感覺語言不是很好解釋] 對這個item進行一個函數(shù)操作霞幅,并且把函數(shù)的返回值設為item的新值。
需求:把集合內的object做轉化
//把list的所有是type是human的object轉化成string量瓜,value是object的Name屬性
list.Where(item=>item.type=="Human").Select(item=>item.Name)
Yep, Microsoft 用LINQ封裝了很多自家數(shù)據(jù)庫(SQL server, Table storage, documentdb, and whatever)司恳,類似于HQL一樣,將所有對數(shù)據(jù)的選擇等等操作變成了函數(shù)式編程(engnieer friendly)绍傲。
我想以后若是又重寫起Java該怎么辦扔傅!