C# 最美的地方。
也是函數(shù)式編程之美。
-
Any()
All()
一類的條件存在判斷
需求:判斷集合內(nèi)有沒有任意\所有一個滿足某種需求
//集合里的任意一個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ù)的返回值設(shè)為item的新值。
需求:把集合內(nèi)的object做轉(zhuǎn)化
//把list的所有是type是human的object轉(zhuǎn)化成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該怎么辦!