查询动态对象列表中的 FirstOrDefault

eiu*_*165 2 c# linq lambda dynamic .net-4.0

以下代码将返回动态对象的 Enumerable。

protected override dynamic Get(int id)
{ 
    Func<dynamic, bool> check = x => x.ID == id;
    return  Enumerable.Where<dynamic>(this.Get(), check);
}
Run Code Online (Sandbox Code Playgroud)

如何选择FirstOrDefault使其成为单个对象而不是 Enumerable?

与此答案类似,但只想要 SingleOrDefault。

Nuf*_*fin 5

您可以使用您的代码FirstOrDefault代替Where. 像这样:

protected override dynamic Get(int id)
{ 
    Func<dynamic, bool> check = x => x.ID == id;
    return Enumerable.FirstOrDefault<dynamic>(this.Get(), check);
}
Run Code Online (Sandbox Code Playgroud)