C#笔试必备基础

1、C#中的委托是什么?事件是不是一种委托?

答:委托可以把一个方法作为参数代入另一个方法。委托可以理解为指向一个函数的引用,事件是一种特殊的委托。

2、override与重载的区别

答:override就是重写,即重新编写,例如,假设动物类存在"跑"的方法,从中派生出马和狗,马和狗的跑得形态是各不相同的,因此同样方法需要两种不同的实现,这就需要"重新编写"基类中的方法. “重写”基类方法就是修改它的实现或者说在派生类中重新编写;

overload就是重载,简单地说,一个类中的方法与另一个方法同名,但参数表不同,这种方法称之为重载方法

重写的特点:1、必须是在继承里;2、方法名、返回值类型、参数个数和参数类型 都必须相同;3、派生类重写的方法的访问权限不能低于基类的权限

重载的特点:1、方法名相同,参数个数以及类型不同

object类是一切类的基类,因此不可作为父类,被继承

3、什么是装箱和拆箱

答:从值类型接口转换到引用类型装箱,从引用类型转换到值类型拆箱。

装箱用于在垃圾回收堆中存储值类型。 装箱是值类型到 object 类型或到此值类型所实现的任何接口类型的隐式转换;

 

取消装箱(拆箱)是从 object 类型到值类型或从接口类型到实现该接口的值类型的显式转换。 取消装箱操作包括:

  • 检查对象实例,以确保它是给定值类型的装箱值。

  • 将该值从实例复制到值类型变量中。

int i=123;//a value type
object o=i;//boxing
int j=(int) o;//unboxing

 

原文地址:https://www.cnblogs.com/IcreamPrince/p/2590292.html