|
|
1
5
你可以使用 Expression.Invoke 创建表示将一个表达式应用到另一个表达式的表达式,以及 Expression.Lambda 为组合表达式创建新的lambda表达式。像这样:
inner表达式.invoke表示表达式
你也可以用 Expression.Call 要在不使用第二个lambda的情况下表示对startswith的调用,请执行以下操作:
|
|
|
2
3
这工作:
你使用它就像:
|
|
|
3
1
通常情况下,您不会按照描述的方式(使用iqueryable接口)执行此操作,但您更愿意使用类似这样的表达式
例如,考虑
函数将委托作为对每个元素调用的第二个参数。您从该委托返回的值指示高阶函数,如果它将生成当前元素(是否包含在结果中)。
现在,让我们看看
我们可以观察到高阶函数的相同模式,但不是
回到你的例子,我认为你要找的是
选择器
. 选择器获取每个输入元素并返回其投影。签名如下:
要传入选择器,您的代码需要如下所示:
此选择器将允许您将输入字符串投影到所需的类型。我希望我能正确地理解你的意图,很难看到你想要达到的目标。 |
|
|
Sergei · 删除数据框中多个列的列表中的某些元素 4 年前 |