我有很多 resharper 警告将我的参数从常规数组更改为相同类型的 IEnumerable,因此它会改变这一点:
public Interface IGenerator
{
void Go(MyObject[] objects)
}
对此:
public Interface IGenerator
{
void Go(IEumerable<MyObject> objects)
}
如果我去更改所有这些,那么每当我在函数内部调用 .Where() 时都会收到其他警告,并带有警告:
Possible multiple enumeration of IEnumerable
我看到了这个错误描述,但是这些已经是数组,所以没有延迟查询。
那么这里推荐的做法是什么?我应该将其保留为数组还是在整个位置添加 .ToList() 以删除多个可枚举错误