CombineSelector在Linq中做了什么

时间:2012-12-09 23:29:58

标签: linq selector

我在反射器中看着CombineSelector。

有人可以解释它究竟做了什么。

1 个答案:

答案 0 :(得分:0)

首先,请记住,这是一种私人方法,供内部使用。你不仅不应该使用它,不会遇到很多麻烦,你不能使用它。

简单地说,它需要两个委托,并创建一个带有值的新函数,并使用参数值调用第一个委托,然后使用第一个委托的返回值调用第二个委托。

因此:

var func = Enumerable.CombineSelector<int, double, string>(x=> x*100.0, 
                                                           y=> y.ToString());

大致相同:

var func = x=> (x*100.0).ToString();

与...大致相同:

string func(int x) { double y = x * 100.0
                     return y.ToString();
                   }