本帖最后由 jerviscui 于 2013-6-26 16:11 编辑
C#中程序结构关键概念为“程序、命名空间、类型、成员和程序集”。 程序包含一个或多个文件,程序中声明类型,类型包含成员并被组织到命名空间中,编译时程序被打包到程序集中。程序是.exe或.dll取决于实现为应用程序还是类库。 程序集包括中间语言指令形式的可执行代码,以及元数据形式的符号信息,执行前中间语言指令代码被.net的CLR自动转换成处理器代码。
C#中有两种类型:值类型(value type)和引用类型(reference type) 值类型:简单类型 {有符号类型、无符号类型、Unicode字符、IEEE浮点型、高精度小数、布尔型} 枚举类型 结构类型
引用类型:类类型 {最终基类、Unicode字符串、用户自定义类型} 接口类型 数组类型 委托类型
1.类类型定义了一个数据结构,它包括数据成员(字段)和函数成员(方法、属性)。类类型支持继承和多态,即派生类能够扩展和特殊化基类的机制。 2.结构类型与类类型相似,表示带有数据成员和函数成员的结构。与类类型不同的是,结构类型是值类型,不需要堆分配。结构不支持用户指定的继承,所有结构类型隐式的继承类型Object。 3.接口类型定义了一个约定,作为一组函数成员命名的集合,实现接口的类或结构必须提供接口函数成员的实现。接口可以从多个基接口继承而来,类或结构也可能实现多个接口。 4.枚举类型是带有命名常量的独特类型。每个枚举类型有一个底层的类型,必须是8个整形类型之一。枚举类型的值集与底层值集相同。 5.委托类型通过特定的参数列表和返回类型表示对方法的引用。委托将方法处理为实体。实体能够赋值给变量,当做参数传递。类似于方法指针,不同的是委托是面向对象的,且类型安全。
值类型的值通过装箱(boxing)、取消装箱(unboxing)处理为对象。 int i = 123; Object o = i; //装箱 i = (int)o; //取消装箱
try-catch 捕捉在块执行期间发生的异常;try-finally 指定一个终止代码块,不管异常出现与否总被执行。
checked 和 unchecked 用于控制整形算术运算和转换的溢出检查上、下文。 int i = int.MaxValue; checked { Console.WriteLine(i + 1); //异常 } unchecked { Console.WriteLine(i + 1); //溢出 }
lock 语句用于获取给定对象的互斥锁,执行语句,然后释放该锁。
using 语句,用于获取一个资源,执行一个语句,然后处理该资源。
-The End- © Jervis
|