C# 最美的地方。
也是函数式编程之美。
-
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进行一个函数操作,并且把函数的返回值设为item的新值。
需求:把集合内的object做转化
//把list的所有是type是human的object转化成string,value是object的Name属性
list.Where(item=>item.type=="Human").Select(item=>item.Name)
Yep, Microsoft 用LINQ封装了很多自家数据库(SQL server, Table storage, documentdb, and whatever),类似于HQL一样,将所有对数据的选择等等操作变成了函数式编程(engnieer friendly)。
我想以后若是又重写起Java该怎么办!