一.异常
1.1try: 一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。
2.catch: 程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。
3.finally: finally 块用于执行给定的语句,不管异常是否被抛出都会执行。例如,如果您打开一个文件,不管是否出现异常文件都要被关闭。
4.throw: 当问题出现时,程序抛出一个异常。使用 throw 关键字来完成。
二.反射的优缺点
优点:
反射提高了程序的灵活性和扩展性。
降低耦合性,提高自适应能力。
它允许程序创建和控制任何类的对象,无需提前硬编码目标类。
缺点:
性能问题:使用反射基本上是一种解释操作,用于字段和方法接入时要远慢于直接代码。因此反射机制主要应用在对灵活性和拓展性要求很高的系统框架上,普通程序不建议使用。使用反射会模糊程序内部逻辑;程序员希望在源代码中看到程序的逻辑,反射却绕过了源代码的技术,因而会带来维护的问题,反射代码比相应的直接代码更复杂。
三.继承和多重继承
继承是面向对象设计的最重要概念之一,一个类继承自另一个类,举例:
class A{ } class B:A{ } B继承自A,B可以称为派生类也可以称为子类,A可以称为基类也可以称为父类。(派生类和基类,子类和父类) 。 B拥有访问A的能力,形象点说就是子类可以拿到父类的财产,父类拿不到子类的财产。
C#不支持多重继承,,C++支持多重继承。
四.结构
1.结构可带有方法、字段、索引、属性、运算符方法和事件。
2.结构可定义构造函数,但不能定义析构函数。但是,您不能为结构定义无参构造函数。无参构造函数 (默认)是自动定义的,且不能被改变。
3.与类不同,结构不能继承其他的结构或类。
4.结构不能作为其他结构或类的基础结构。
5.结构可实现一个或多个接口。
6.结构成员不能指定为 abstract、virtual 或 protected。
7.当您使用 New 操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用 New 操作符即可被实例化。
8.如果不使用 New 操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用。
五.访问修饰符
C#可以设置使用者的访问权限,这样开发者可以指定该模块或逻辑是公开,封闭,还是指定访问者。
public:所有对象都可以访问;
private:对象本身在对象内部可以访问;
protected:只有该类对象及其子类对象可以访问
nternal:同一个程序集的对象可以访问;
protected internal:访问限于当前程序集或派生自包含类的类型。