您的位置:首页 > 编程语言 > C#

C#基础知识点总结

2015-12-20 19:10 246 查看
1 、C#中数据类型的分类:

(1)值类型:它存储在内存的堆栈中,表示实际数据。包括:基本数据类型(字符串除外)、结构、枚举。

(2)引用类型:它存储在内存的堆中,表示对象地址。包括:字符串、数组、类、接口、委托。

2、 C#声明常量的声明方式:

(1)静态常量(const):< 访问修饰符> 数据类型 常量名称=常量值

(2)动态常量(readonly):

C#基础知识之静态常量(const)

定义:声明的同时要设置常量值。

类型限制:首先类型必须属于值类型范围,且其值不能通过new来进行设置。

对于类对象而言:对于所有类的对象而言,常量的值是一样的。

内存消耗:无。

综述:性能要略高,无内存开销,但是限制颇多,不灵活。

C#基础知识之动态常量(readonly)

定义:声明的时候可以不需要进行设置常量值,可以在类的构造函数中进行设置。

类型限制:没有限制,可以用它定义任何类型的常量。

对于类对象而言:对于类的不同对象而言,常量的值可以是不一样的。

内存消耗:要分配内存,保存常量实体。

综述:灵活,方便,但是性能略低,且有内存开销。

3 、 装箱和拆箱:

(1)装箱:将值类型转换成引用类型。(is as)

(2)拆箱:将引用类型转换成值类型。

4 、Typeof运算符:

C#没有自己的内库,但是它共享了.Net的内库。C#中的基本数据类型只是.Net基本数据类型的别名而已。获得系统原型对象的类型。

5、访问域,访问修饰符

(1)访问域:public、 private 、internal、protected、protectedinternal

(2)访问修饰符:partial、、sealed、virtual、override、abstract 、new、 extern、 static

6 、构造函数和析构函数:

(1)构造函数:与类同名,无返回值。可以重载。

(2)析构函数:与类同名,无返回值。不能重载。一个类只有一个析构函数。由垃圾回收器自动调用。

7、构造函数调用:

(1)调用基本构造函数::base() 或:base(string name,int age)

(2)调用基类普通方法: base.基类方法名()

8 、方法调用:

(1)实例对象调用:类名.方法名([参数列表])

(2)静态类调用:类名.方法名([参数列表])

9 、方法重载与方法重写:

(1)方法重载:在同一个类中的方法,返回类型相同,方法名相同,方法签名不同。

(2)方法重写:在基类与子类中,基类方法是:virtual、abstract 时,方可在子类中用override重写基类方法。

10、OOP编程三大特点:

(1)封装:

(2)继承:

(3)多态:多态的两种表现形式:方法重载和方法重写。

11、抽象类和接口的区别与联系:

C#基础知识之抽象类:至少含有一个抽象方法的类,不能被实例化。包含属性、方法声明、功能定义和实现。

C#基础知识之接口:接口是一个特殊的抽象类。仅限于对方法、索引器、及属性的声明。

12 、委托:

(1)它包含对方法而不是方法名的引用,使用委托可以在运行时动态设定要调用的方法。委托将名称与方法的定义连接起来。

(2)委托的作用:定义事件句柄(EventHander),目的:自定义事件。委托实际上是函数的指针,它能引用函数。

(3)使用委托的步骤:

a 定义委托:[访问修饰符] delegate 返回类型委托名()

b 实例化委托:使其指向某个方法。

c 使用委托:

13、事件:

(1)事件(Event):是一种函数成员,是类和对象发出的消息。以通知发生了某个特定的行为或某个特定的条件已经成立。

定义事件:

[访问修饰符] event 委托名 事件名

定义事件时,发行者首先定义委托,然后根据委托定义事件。

Public delegate void delegateMe() //定义委托

public event delegateMe eventMe; //定义事件

(2)订阅事件:只是添加了一个委托,事件引发时该委托将调用一个方法。

订阅事件:

eventMe+=newdelegateMe(objA.Method) //objA.Method方法订阅了事件eventMe

14 、控件与组件:

(1)控件:可视化界面组件称为控件。(可视化的类),所有Windows窗体都是从System.Windows.Forms.Control类派生出来的类。

(2)组件:不含可视化的界面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: