我创建了ILIst<Person>
的对象。此列表包含Person
类型的对象。
现在我想使用基于特定条件的lambda表达式来过滤此列表。所以我这样做了:
IList<Person> personlist = new IList<Person>;
...
...
...
IList<Person> filtered_person =
(IList<Person>)personlist.Where(pd => pd.name != "anil");
但是这一行给出了错误:
Unable to cast object of type 'WhereListIterator`1[Person]' to type 'Person'.
这里有什么不对?
答案 0 :(得分:3)
无需施法。如果需要,可以使用ToList()扩展方法创建列表:
IList<Person> filteredPerson = personlist.Where(pd => pd.name != "anil").ToList();
答案 1 :(得分:2)
使用
IList<Person> filtered_person = (IList<Person>)personlist.Where(pd => pd.name != "anil").ToList();
表达式的结果为IEnumerable<Person>
,需要转换为列表。