看到linq 的时候 看到这么一句代码
public static Expression<Func<T, bool>> True<T>() { return param => true; }
大括号里的方法体看不懂具体是啥意思? 如何演变过来的呢。感谢!
你这段代码没拷全!?
烤全了 就这样。
@Allen_Chang: 这只是一个方法,返回一个表达式树Expression,在compile后就变成了一个Func<T,bool>的委托方法。
比如True<int>().Compile().(100);
@Daniel Cai: 先谢谢,我知道,我只是不太明白 return param => true 这想表达啥。
举个能一目了然的例子
Expression<Func<int, bool>> ex = x=>x < 100 这是表达式写法
或者 Expression<Func<int, bool>> ex = x=>{return x < 100} 这是表达语句写法 一个意思
Func<int, bool> func = ex.Compile();
func(50) 结果为true
func(101) 结果为false
@Allen_Chang: 单纯这个是没意义的,我感觉可能是某些地方需要这种无逻辑的表达式,比如对应为while(true)的代码
@Daniel Cai: 嗯 ,谢谢你哦。
-> 这个是Lambda表达式 不知道是不是你打错了?
return param => true; 意思是对param赋值为true
本来我是不懂得,看了楼上几位大神我懂了