如何写正确的linq where子句?

时间:2010-02-17 00:29:16

标签: linq

我尝试使用linq在代码中获取故事板数据并尝试使用where子句:

Where(
   delegate (abc<VisualStateGroup, VisualState> xyz) 
   { return (xyz.state.Name == "PopupOpened");}
  )

它给了我错误:

  

匿名方法表达式不能   转换为表达式树

如何为这种情况编写正确的where子句?

2 个答案:

答案 0 :(得分:2)

使用lambda:

Where(xyz => xyz.state.Name == "PopupOpened");

答案 1 :(得分:1)

只需使用lambda表达式:

.Where( xyz => xyz.state.Name == "PopupOpened" );

如果您不需要将操作作为表达式树,您也可以将其写为匿名委托,但它会更详细。

正如@itowlson所说,如果你在期望表达式树的上下文中使用它,你必须提供一个lamda,因为只有lambdas可以转换成表达式树 - 匿名委托不能。