日期:2014-05-18  浏览次数:21138 次

linq: 请问List<Person> a 按照年龄排序后,为啥结果为空,本来不为空的!!
List<Person> lpp;(有2条数据)
 List<Person> a = (from n in lpp orderby n.Age ascending select n);
我本来按楼上这么写,提示n.Age 不能隐式转换,我就换成
List<Person> a = (from n in lpp orderby n.Age ascending select n) as List<Person>;
现在运行没错了,可是a里面却没有2条数据。。
请问我错在哪里?

------解决方案--------------------
select返回的结果是IQueryable<Person>,不能用as将它转换为List

List<Person> a = (from n in lpp orderby n.Age ascending select n).ToList();
------解决方案--------------------
Age 是什么类型的:

List<Person> a =lpp.OrderByDescneding(n=>int.Parse(n.Age)).ToList();

------解决方案--------------------
C# code

List<Person> a =lpp.OrderByDescneding(n=>Convert.ToInt32(n.Age)).ToList();