FCL中存在三种委托已能够满足我们开发的大部分需求。
1.Action表示接受0个或多个输入参数,执行一段代码,没有任何返回值。
2.Func表示接受0个或多个输入参数,执行一段代码,带返回值。
3.Predicate表示定义一组条件并判断参数是否符合条件。
Labda在表达式在简化代码方面的威力:
//第一种写法
return this.Find(new Predicate<Student>(delegate(Student target){
if(target.Name==name)
{
return false;
}else{
return false;
}
}))
//第二种写法
return this.Find(new Predicate<Student>((target)=>
{
if(target.Name==name)
{
return false;
}else{
return false;
}
}))
//第三种写法
return this.Find((target)=>
{
if(target.Name==name)
{
return false;
}else{
return false;
}
})
//第四种写法
return this.Find(target=>target.Name==name)