我有类像下面LINQ列出<T>给出了一个错误
class Person
{
public string Name{get;set;}
public string Surname{get;set;}
public int Age{get; set;}
}
我有这样
List<Person> persons = new List<Person>();
列表然后有一个方法
public Person SelectPerson(string name)
{
var q = from p in persons where p.Name==name select p;
return (Person)q;
}
但它给像这样的错误
无法投射物体类型'WhereListIterator`1 [PrsLst.Person]'键入'PrsLst.Person'。
SO是什么问题,你可以帮我解决它。
请注意,FirstOrDefault方法只取第一个项目,忽略任何后续项目,所以如果你有重复项目,它会简单地选择一个项目,而你不知道有什么错误。另外,该方法的返回类型已经是'Person',所以它不需要任何投射。 – Guffa 2012-01-07 20:11:08
关于演员的好处,它已被删除。至于FirstOrDefault的使用和检查重复的必要性,我认为你超出了问题的范围。您对SelectPerson功能要求的假设是合理的,但并未由所述问题确认。 – 2012-01-09 00:30:55