C#基础知识总结
C#基础
1 C#中数据类型的分类:
(1)值类型:它存储在内存的堆栈中,表示实际数据。包括:基本数据类型(字符串除外)、结构、枚举。
(2)引用类型:它存储在内存的堆中,表示对象地址。包括:字符串、数组、类、接口、委托。
2 C#声明常量的声明方式:
(1)静态常量(const):<访问修饰符> 数据类型 常量名称=常量值
(2)动态常量(readonly):
静态常量(const) 动态常量(readonly)
定义 声明的同时要设置常量值。 声明的时候可以不需要进行设置常量值,可以在类的构造函数中进行设置。
类型限制 首先类型必须属于值类型范围,且其值不能通过new来进行设置。 没有限制,可以用它定义任何类型的常量。
对于类对象而言 对于所有类的对象而言,常量的值是一样的。 对于类的不同对象而言,常量的值可以是不一样的。
内存消耗 无。 要分配内存,保存常量实体。
综述 性能要略高,无内存开销,但是限制颇多,不灵活。 灵活,方便,但是性能略低,且有内存开销。
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 抽象类和接口的区别与联系:
抽象类:至少含有一个抽象方法的类,不能被实例化。包含属性、方法声明、功能定义和实现。
接口:接口是一个特殊的抽象类。仅限于对方法、索引器、及属性的声明。
12 委托:
(1)它包含对方法而不是方法名的引用,使用委托可以在运行时动态设定要调用的方法。委托将名称与方法的定义连接起来。
(2)委托的作用:定义事件句柄(EventHander),目的:自定义事件。委托实际上是函数的指针,它能引用函数。
(3)使用委托的步骤:
a 定义委托:[访问修饰符] delegate 返回类型委托名()
b 实例化委托:使其指向某个方法。
c 使用委托:
13 事件:
(1)事件(Event):是一种函数成员,是类和对象发出的消息。以通知发生了某个特定的行为或某个特定的条件已经成立。
定义事件:
[访问修饰符] event 委托名 事件名
定义事件时,发行者首先定义委托,然后根据委托定义事件。
Public delegate void delegateMe() //定义委托
public event delegateMe eventMe; //定义事件
(2)订阅事件:只是添加了一个委托,事件引发时该委托将调用一个方法。
订阅事件:
eventMe+=new delegateMe(objA.Method) //objA.Method方法订阅了事件eventMe
14 控件与组件:
(1)控件:可视化界面组件称为控件。(可视化的类),所有Windows窗体都是从System.Windows.Forms.Control类派生出来的类。
(2)组件:不含可视化的界面。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zerolsy/archive/2008/02/24/2117554.aspx