C#程序
C#程序有一些源文件集合组成,每个源文件是 Unicode 字符的有序序列。一般情况
下,每个源文件对应于文件系统中一个单独的文件。程序被编译为一组计算机指令,称为
程序集(assembly)。.NET 框架解释或执行程序集,执行源代码所定义的指令。
程序集
程序集分为应用程序和类库两种类型
应用程序:具有主入口的程序集,通常包括.exe扩展名。应用程序为计算机用户执行一个或一组特定的任务。
类库:没有主入口的程序集,通常具有.dll扩展名,类库用于封装一种或多种类型。
命名空间
C#程序中的源文件包含了命名空间的集合。同一命名空间中姓名两个相同名称的类型是错误的。
类型:
类型只要分为值类型和引用类型,值类型包含简单的内建类型:如 (int char)、枚举、结构,包含了它的数据。
引用类型包含类、接口、事件、数组等 包含数据的一个引用。修改一个数据引用可能会影响另一个引用类型。
类型声明包括、接口、结构、枚举和委托。
类型是一个类型声明指定的,作为一个命名空间的一部分,或者位于默认的命名空间内。
类
是一种引用类型,它定义一种新的数据抽象。每个类由一个或多个成员组成,定义了类的实例所支持的内容,操作和行为。
常量
表示一种不可修改的值,在编译过程是进行计算。
字段
在运行时他的值可以被修改的常量。
方法
实现类或其他对象执行的一个操作或活动。方法可以返回一个结果,也可以接受一个参数或多个参数来实现它的操作。
属性
提供对一个类或其他对象的一个特征的访问,它提供get;(只读)set;(只写) 两个访问符,分别指定了读取或写入值的方式。
事件
用event关键字来声明,允许一个类或其他对象提供通知,一个类的实例可以与一个或多个方法相关联,这种方法称为事件处理方法,当一个特定的事件发生时,就会执行与他相关联处理方法。
索引器
允许以数组的形式访问一个对象。"数组"中的元素是通过方括号中的下标来进行访问。
操作符
分为是三个类型 单目操作符用于一个类型,双目操作符用于两个类型, 转换操作符把一个对象从一个类型转为另一种类型。
构造函数
构造函数分为静态构造函数和实例构造函数
静态构造函数对一个类执行一次性的初始化,不能显示地调用和执行,最多执行一次
实例构造函数是在创建一个对象的执行的。类的默认构造函数是无参的实例构造函数。默认情况下,如果没有为一个类提供实例构造函数,这个类具有一个隐式的无参构造函数。实例构造函数对一个类的一个特定实例进行初始化。
析构函数
析构函数实现了销毁一个类的实例错需要的操作。当一个实例不再被任何代码所需要时,就可以在任何时候调用这个对象的析构函数。
大多情况下,要避免使用析构函数, GC(垃圾收集器)会对析构函数的类对象清理两次。需要的时候 在Dispose方法中清理,就可以通过再GC类上调用SuppressFinalize方法,避免两次的清理。
结构
结构是一种值类型,定义了一种新的数据抽象,结构与类非常相似,而是在堆上分配内存的,而接收时就地分配内存,结构无法被继承,也不能继承其他类。
结构的成员与类相同,区别在结构的默认构造函数是自己提供的,无法显式的指定
接口
接口是一种引用类型,定义了一个由一组成员组成的契约。类或结构实现接口必须实现接口中的所声明的每个成员。
接口可以使用的成员包括方法、属性、事件、索引器,区别在于接口并没有提供它们的定义,这些成员没有访问权限。
枚举
枚举是一种值类型,定义了一组香瓜你的符号常量,与C的枚举类型十分相似。所有枚举类型隐式地继承与.NET框架的System.Enum类。
多个枚举成员由逗号分隔的,并且每个成员都赋值了一个整型值。
委托
委托是一种引用类型,它封装了1个或多个方法,委托是根据一个预定义的方法签名创建的,委托是从System.Delegate类隐式继承的类,由于是隐式的类,它的默认是为null。
委托所使用的方法定义可以使显示或隐式的,隐式定义成语匿名方法。
摘抄...