C#你不能不知道的事(一)

 

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值