C#中涉及到List的查询或按属性排序时,使用Linq语句是比较方便的,类似于数据库SQL语言。
如一个类Student,其中有:
number
name
score_language
score_math
score_english
Score_Sum
这些属性,现有List<Student>list,则可以用Linq语句查询集合里的元素
List<Student> target_list = (from n in list
where n.score_math>60
orderby descending n.score_math
select n).toList();
这样就可以得到一个list的子集target_list,其中所有Student的数学成绩都大于60,而且target_list中元素是按照数学成绩从高到底排序的。
descending 是指降序,默认是升序的。
括号里面的语句查询到的是一个数组,toList是将其转换为集合。
Linq语句查询到的是数组,如果认为按id查询只能查到一个数据,也应该是一个数组,其中只有一个数据,也要用toList进行转换。