什么是装箱(boxing)和拆箱(unboxing)?
- C#中值类型和引用类型的最终基类都是Object类型(它本身是一个引用类型),也就是说,值类型也可以当做引用类型来处理。
- 这种机制的底层处理就是通过装箱和拆箱的方式来进行,利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来 。
- 装箱:从值类型接口转换到引用类型。
- 拆箱:从引用类型转换到值类型。
object obj = null; //引用类型
obj = 1; //装箱,把值类型包装为引用类型
int i1 = (int)obj; //拆箱
简述 private、 protected、 public、 internal 修饰符的访问权限。
- private : 私有成员, 在类的内部才可以访问。
- protected : 保护成员,该类内部和继承类中可以访问。
- public : 公共成员,完全公开,没有访问限制。
- internal: 当前程序集内可以访问。
using 关键字有什么用?什么是 IDisposable?
- 可以声明命名空间的引入。
- 可以实现非托管资源的释放。
实现了IDisposiable
接口的类在 using 中创建时,using
结束后会自动调用该对象的Dispose
方法,释放资源。
加分的补充回答:using 其实等价于 try……finally,用起来更方便。
网友评论