如何使用linq在列表的所有成员上运行函数?

时间:2014-04-02 21:49:18

标签: c# linq

我有一个我正在接收执行Web服务调用的对象列表。

List<ProcessInstances> list = processService.GetProcessInstances(id);

我想在列表的每个成员上调用一个函数。我可以使用For循环,但我想使用linq查询,因为我将在我的代码中执行此操作(从Web服务中读取)很多次。到目前为止,我有,

list.Select(obj => GetProcessedParameters(obj.Id));

//GetProcessedParameters(int id) does some lookup and validation based on the id.

但是这给了我一个错误,说明类型无法识别。为什么它会给我一个错误?我怎么做到这一点?提前谢谢!

1 个答案:

答案 0 :(得分:7)

Select正在寻找你在lambda中返回一个值。

尝试:

list.ForEach(obj => GetProcessedParameters(obj.Id));

以这种方式使用ForEach实际上名义上比写出For循环慢,但更具可读性。