関数に渡すオブジェクトのリストがあり、内部でそれらをカウントしたいと思います。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;
}
しかし、コードをこれに変更すると、毎回正しいカウントが返されます。
誰かが私に違いを説明できますか、そしてなぜこれが起こっているのですか?