C#高级教程:类、Lambda表达式和LINQ

需积分: 10 3 下载量 10 浏览量 更新于2024-07-23 收藏 1.58MB PDF 举报
C#高级教程 通过本次课程,理解类的重要概念和相关知识,理解C#中高级类型(例如可空类型、泛型等),Lambda表达式和LINQ的原理和使用。 类的声明 在C#中,类是程序的基本组成部分,用于描述对象的行为和状态。类的声明方式有多种,包括非静态类、静态类、抽象类和封闭类。 非静态类 非静态类是可以被实例化的类,例如: ``` class NoStaticClass {} ``` 静态类 静态类是不能被实例化的类,例如: ``` static class StaticClass {} ``` 静态类只能包含静态成员,不能被实例化。 抽象类 抽象类是不能被实例化的类,例如: ``` abstract class AbstractClass {} ``` 抽象类不能被实例化,必须被继承。 封闭类 封闭类是不能被继承的类,例如: ``` sealed class SealedClass {} ``` 封闭类不能被继承。 成员修饰符 成员修饰符用于控制类成员的访问权限,包括public、private、protected和internal等。 public public成员可以在任何地方访问,例如: ``` public int publicInt = 0; ``` private private成员只能在类内部访问,例如: ``` private int privateInt = 0; ``` protected protected成员可以在类内部或者子类访问,例如: ``` protected int protectedInt = 0; ``` internal internal成员可以在程序集内部访问,例如: ``` internal int internalInt = 0; ``` protected internal protected internal成员可以在类内部、子类或程序集内部访问,例如: ``` protected internal int protectedInternalInt = 0; ``` 创建类的实例(对象) 可以使用new操作符创建类的实例(对象),例如: ``` NoStaticClass myClass1 = new NoStaticClass(); NoStaticClass myClass2 = new NoStaticClass(2); ``` 字段 字段是与类或类的实例相关的变量,例如: ``` class Test { public int publicInt = 0; private int privateInt = 0; protected int protectedInt = 0; internal int internalInt = 0; protected internal int protectedInternalInt = 0; } ``` 字段可以有不同的访问权限,例如public、private、protected和internal等。 Lambda表达式 Lambda表达式是一种匿名函数,可以作为委托的实例,例如: ``` Func<int, int, int> add = (x, y) => x + y; ``` LINQ LINQ(Language Integrated Query)是一种查询语言,用于查询和操作数据,例如: ``` var query = from c in customers where c.Country == "USA" select c; ``` 通过本次课程,了解了C#中高级类型、Lambda表达式和LINQ的原理和使用,掌握了类的声明、成员修饰符、创建类的实例和字段的概念。