我有一个我正在接收执行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.
但是这给了我一个错误,说明类型无法识别。为什么它会给我一个错误?我怎么做到这一点?提前谢谢!
答案 0 :(得分:7)
Select
正在寻找你在lambda中返回一个值。
尝试:
list.ForEach(obj => GetProcessedParameters(obj.Id));
以这种方式使用ForEach
实际上名义上比写出For
循环慢,但更具可读性。