C# 基础知识系列-7 Linq详解
前言 在上一篇中简单介绍了Linq的入门级用法,这一篇尝试讲解一些更加深入的使用方法,与前一篇的结构不一样的地方是,这一篇我会先介绍Linq里的支持方法,然后以实际需求为引导,分别以方法链的形式和类SQL的形式写出来。 前置概念介绍 Predicate<T> 谓词、断言,等价于 Func<T,bool> 即返回bool的表达式 Expression<TDelegate> 表达式树,这个类很关键,但是在这里会细说,我们会讲它的一个特殊的泛型类型: Expression<Func<T,bool>> 这个在某些数据源的查询中十分重要,它代表lambda表达式中一种特殊的表达式,即没有大括号和 return 关键字的那种。 我们先准备两个类 : Student/学生类: /// <summary> /// 学生 /// </summary> public class Student { /// <summary> /// 学号 /// </summary> public int StudentId { get; set; } /// <summary> /// 姓名 /// </summary> public string Name { get; set; } /// <summary> /// 班级 /// </summary> public string Class { get;