C#入门指南
1) 委托是方法的抽象,在面向对象编程中,抽象是很重要的概念,抽象的意义在于将重复的代码或者逻辑集中到某一处,如果需要改动则只需要改动一处即可
2) 面向对象的概念
a) 面向对象的三大特征:1.封装 2.继承 3.多态
b) 类是由一组对象抽象得到的,并由对象来体现其属性和方法
c) 面向对象编程首要的是抽象出类,即找出实体
d) 类无法直接调用,必需用new关键字实例化对象
3) 面向对象编程的四大特性
a) 抽象
b) 封装
c) 继承
d) 多态
4) 接口和抽象类
a) 接口的属性和方法都不能有具体实现
b) 抽象类可以定义实现方法和属性,也可以定义抽象方法,抽象方法不能用任何实现
5) 虚方法
a) 虚方法用virtual关键字修饰
b) 非抽象方法子类必须实现抽象方法,子类不一定需要重写虚方法
c) 只有抽象类可以定义抽象方法,除了静态类的所有类都可以定义虚方法
6) 当一个非抽象类实现接口时,必须完全实现接口中的属性和方法
7) CLR – Common Language Runtime,即通用语言运行时
8) ASP.NET项目目录结构
a) Bin文件夹:包含应用程序要使用的已经编译好的.NET组件程序集,比如自定义的数据访问组件
b) APP-CODE文件夹:源代码文件,比如程序新加的.cs文件
c) APP-DATA文件夹:数据库文件,包括MDF文件和XML文件
9) 每个WEB应用程序会从machine.config文件和根web.config文件中继承一部分设置
LINQ入门及应用
1) LINQ三大组件
a) LINQ to Object
b) LINQ to ADO.NET
c) LINQ to XML
2) LINQ -> Language Integrated Query
3) LINQ针对SQL Server、XML文档、内存中支持IEnumberable或泛型IEnumerable<T>接口的任意对象集合进行查询
4) LINQ To ADO.NET
a) LINQ to SQL:通过使用开发者建立的一个映射SQL Server中的数据表,被称作实体类的类型
b) LINQ to Dataset:用来查询DataSet数据集
c) LINQ to Entities与a)类似,但更加复杂和功能强大
5) C#语言新特性
a) C#2.0之前只有引用类型变量才可以赋值为null,2.0之后,出现可空类型,可空类型允许值类型变量赋值为null
6) 泛型
a) C#是强类型语言,不像javascript和php都是脚本语言,都为弱类型
b) C#2.0引入泛型,将参数类型由T来代替,而T在编译运行时刻,由CLR用实际类型替换,泛型的使用可以提高代码的重用率,保护类型安全和提高性能
7) List<T>是一个泛型List,与ArrayList相比,减少了添加时的装箱和取出时的拆箱操作,极大地提高了效率
8) 代理(Delegate)同委托
a) C#1.0引入代理,可以将多个方法绑定到一个代理上
b) C#2.0引入匿名方法,允许把代码块直接绑定到代理上
c) C#3.0把匿名方法升级为Lambda表达式