我有一个方法,看起来如下:
bool GetIdByName(string name, out ID id)
Run Code Online (Sandbox Code Playgroud)
我想在lambda表达式中使用它,通过许多'名称'获得几个'id':
var ids = names.Select(name => idService.GetIdByName(name, out id));
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我会在我的'ids'变量中找到所有bool值,这不是我想要的.是否也可以将每个调用的out参数"id"输入其中?
您可以使用带有body的委托:
IEnumerable<ID> ids = names.Select
(
name =>
{
ID id;
GetName(name, out id);
return id;
}
);
Run Code Online (Sandbox Code Playgroud)