我有我要传递给函数的对象列表,我想在里面计算它们。当我使用 IQueryable() 时,它不会正确计算它们,但是当我使用 IEnumerable() 时,它会计算它们。
public int functCount(IQueryable<MyObject> myLisfOfObjects)
{
int numberOfItems = myListOfObjects.Count(o => o.isSet); //isSet is bool property in my object
return numberOfItem;
}
第一次调用它返回正确数量的项目,但是当我更改列表中某些元素的 isSet 属性时,它返回与第一次调用相同的数字。
public int functCount(IEnumerable<MyObject> myLisfOfObjects)
{
int numberOfItems = myListOfObjects.Count(o => o.isSet); //isSet is bool property in my object
return numberOfItem;
}
但是当我将代码更改为此时,它每次都会返回正确的计数。
谁能解释我的区别,为什么会这样?