LINQ

C# 最美的地方。

也是函數(shù)式編程之美。

  1. 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"))
  1. WhereSQL里的where很像,類似于[對滿足如下條件的]。
    需求:主要是配合其他LINQ function 工作。
  2. 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該怎么辦!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容