---恢复内容开始---
一丶
1.CLR公共语言运行库。FCL基础类库
2.NET是一个与硬件无关的程序执行平台,通过二次编译实现本机的运行,执行过程如下。
3.类型的推断 var关键字可以自动识别变量
例如 var n=0; int n=0;等价
4。break语句能够跳出循环语句。continue跳出当前循环,而不是完全跳出循环。
二丶字符串的常见操作
1. .Length能够获取字符串的长度。
2.字符串可以直接用+相加,也可以用StringBuilder类实成员实现相加。
sb.Append();//sb为对象
3.截取字符串的一部分 变量.Substring(起始位置,截取位置)
string s1=str.Substring(0,2)
4.Split用法
1.用单个字符分割
string str="aaa,bbb,ccc";
string []sarray=str.split(',');//得到,分割的各个字符串
foreach(string i in sarray)
{
Response.Write(i.Tostring()+"<br>");
}
输出
aaa
bbb
ccc
2.用多个字符分隔
string str="aaajbbbscccjdddseee";
string []sarray=str.Split(new char[2]{'j','s'});//得到以'j'.'s'分隔的各个字符串
foreach()
{
......
}
输出结果:
aaa
bbb
...
3.用字符串分割
using System.Text.RegularExpreesions;//引用
string str="aaajsbbbjsccc";
string[] sarray=Regex.Split(str,"js",RegexOptions.IgnoreCase);//得到一‘JS’分隔
三丶把123456789转换为12-345-6789
string a="123456789"
a=a.Insert(5,"-").Insert(2,"-");
四丶得到随机数的的方法
Random r=new Random();
int n1=r.next();//返回随机非负整数
五丶转换类型
Convert.To....,int.parse(),INT32.Parse()等;
INT32.Parse()性能更加优越
六丶常用的数学函数
Math.Ceilling();//返回大于或等于指定数字的最小整数
例
Math.Ceilling(0.00);//0
Math.Ceilling(0.40);//1
Math.Ceilling(0.60);//1
Math.Floor();返回小于或等于指定数字的最小整数
面向对象的重点 继承 委托 事件 反射
一丶继承
继承规则
1.派生类会继承有关基类所有成员。如果基类B是继承A,那么C继承B时也会继承A的成员。但构造、
函数和析构函数不能被继承。
2.派生类只能从一个类中继承,通过接口实现多重继承
访问基类成员
1.派生类访问时先调用基类构造函数,在调用派生类的构造函数;在执行其他调用过程
2.在派生类的方法中调用基类方法base.<基类方法名>;base.SayHello();
3.((ParentClass)child).SayHello();//显式类型转换
4.new可以隐藏基类的方法;
抽象和密封
密封类修饰符sealed,密封后不会被其他类继承
抽象类是专门用于继承而写的类,修饰符abstract
1.抽象类不能实例化,抽象方法没有具体的执行代码,在非抽象的派生类中重写代码。派生类方法
重新加上修饰符override(同名抽象类的方法)
2.如果不想把方法写成抽象类,但方法在基类不具体实现,而在派生类重写。
把方法用修饰符virtual声明为虚函数,在继承类中通过override重写代码;
多重继承,C#不允许继承多个类,但允许继承多个接口;
接口是什么?接口修饰符interface;接口是只定义方法,没有具体的内容。在引用接口的类中定义方法
3.如果继承多个接口,接口中有同名的方法。则实现接口时
在调用接口的方法时候需要强制转换转换为相应的接口类型,
如果不强制转换则无法调用接口方法。
实现多个接口不同名称方法时前面加上public修饰符
二丶委托
1.委托的定义方法:和声明方法类似,区别是有修饰符delegate.
2.什么是委托:委托就是将传递参数的部分改为传递方法,能够方便的调用需要的方法。一种可以被方法赋值的类型。可以理解为函数地址的指针.
传递什么方法,调用什么方法。
要求委托和方法的参数类型,数量一致,返回值类型一致
3.不使用委托的缺点:只能传递参数,通过判断参数类型来找到需要方法。
不好判断,扩展性差。
4.委托和传递给委托的方法参数类型和个数需要一致
5.多播委托
一个委托的对象可以绑定多个方法。当调用这个委托的对象的时候依次调用绑定的方法。
通过 “+” 来实现多个方法的绑定
三丶事件
事件的理解:事件与委托相似,当委托时被封装在类中,成为了事件
规范:
例子:Object 可以代表触发事件的对象,BoiledEventArgs代表关键参数,例如警报器需要的温度参数.
以热水器加热水温为例,当温度到达一定程度时,警报器发出警报
分析:
1.两个类,分别时热水器和警报器。
2.热水器有温度,型号等变量,存在一个加热的方法,以及一个继承了EventArgs类的温度参数类,BoiledEventArgs;
3.警报器存在一个方法,绑定事件后,当事件触发则调用此方法
热水器的类
基本数据
委托和事件
关键的温度参数
存在烧水的方法,当水温大于一定温度时,将变量传递给温度类,使温度参数获取具体的值,判断事件是否绑定了警报方法,如果绑定了则传递热水器对象和温度参数,并执行绑定的方法。
创建警报器类,存在警报方法,如果绑定了事件,促发事件时则调用次方法。将sender转换为heater类可以访问热水器的基本信息.
主函数创建热水器类和警报器类,警报方法绑定事件,促发事件BoiledWater.调用警报方法。
四丶using
2.using别名,当不同的命名空间有相同的类时,区分两者的方法.
不同命名空间有同名的类
别名区分aclass= 第一个空间Myclass
使用方法。
---恢复内容结束---
一丶
1.CLR公共语言运行库。FCL基础类库
2.NET是一个与硬件无关的程序执行平台,通过二次编译实现本机的运行,执行过程如下。
3.类型的推断 var关键字可以自动识别变量
例如 var n=0; int n=0;等价
4。break语句能够跳出循环语句。continue跳出当前循环,而不是完全跳出循环。
二丶字符串的常见操作
1. .Length能够获取字符串的长度。
2.字符串可以直接用+相加,也可以用StringBuilder类实成员实现相加。
sb.Append();//sb为对象
3.截取字符串的一部分 变量.Substring(起始位置,截取位置)
string s1=str.Substring(0,2)
4.Split用法
1.用单个字符分割
string str="aaa,bbb,ccc";
string []sarray=str.split(',');//得到,分割的各个字符串
foreach(string i in sarray)
{
Response.Write(i.Tostring()+"<br>");
}
输出
aaa
bbb
ccc
2.用多个字符分隔
string str="aaajbbbscccjdddseee";
string []sarray=str.Split(new char[2]{'j','s'});//得到以'j'.'s'分隔的各个字符串
foreach()
{
......
}
输出结果:
aaa
bbb
...
3.用字符串分割
using System.Text.RegularExpreesions;//引用
string str="aaajsbbbjsccc";
string[] sarray=Regex.Split(str,"js",RegexOptions.IgnoreCase);//得到一‘JS’分隔
三丶把123456789转换为12-345-6789
string a="123456789"
a=a.Insert(5,"-").Insert(2,"-");
四丶得到随机数的的方法
Random r=new Random();
int n1=r.next();//返回随机非负整数
五丶转换类型
Convert.To....,int.parse(),INT32.Parse()等;
INT32.Parse()性能更加优越
六丶常用的数学函数
Math.Ceilling();//返回大于或等于指定数字的最小整数
例
Math.Ceilling(0.00);//0
Math.Ceilling(0.40);//1
Math.Ceilling(0.60);//1
Math.Floor();返回小于或等于指定数字的最小整数
面向对象的重点 继承 委托 事件 反射
一丶继承
继承规则
1.派生类会继承有关基类所有成员。如果基类B是继承A,那么C继承B时也会继承A的成员。但构造、
函数和析构函数不能被继承。
2.派生类只能从一个类中继承,通过接口实现多重继承
访问基类成员
1.派生类访问时先调用基类构造函数,在调用派生类的构造函数;在执行其他调用过程
2.在派生类的方法中调用基类方法base.<基类方法名>;base.SayHello();
3.((ParentClass)child).SayHello();//显式类型转换
4.new可以隐藏基类的方法;
抽象和密封
密封类修饰符sealed,密封后不会被其他类继承
抽象类是专门用于继承而写的类,修饰符abstract
1.抽象类不能实例化,抽象方法没有具体的执行代码,在非抽象的派生类中重写代码。派生类方法
重新加上修饰符override(同名抽象类的方法)
2.如果不想把方法写成抽象类,但方法在基类不具体实现,而在派生类重写。
把方法用修饰符virtual声明为虚函数,在继承类中通过override重写代码;
多重继承,C#不允许继承多个类,但允许继承多个接口;
接口是什么?接口修饰符interface;接口是只定义方法,没有具体的内容。在引用接口的类中定义方法
3.如果继承多个接口,接口中有同名的方法。则实现接口时
在调用接口的方法时候需要强制转换转换为相应的接口类型,
如果不强制转换则无法调用接口方法。
实现多个接口不同名称方法时前面加上public修饰符
二丶委托
1.委托的定义方法:和声明方法类似,区别是有修饰符delegate.
2.什么是委托:委托就是将传递参数的部分改为传递方法,能够方便的调用需要的方法。一种可以被方法赋值的类型。可以理解为函数地址的指针.
传递什么方法,调用什么方法。
要求委托和方法的参数类型,数量一致,返回值类型一致
3.不使用委托的缺点:只能传递参数,通过判断参数类型来找到需要方法。
不好判断,扩展性差。
4.委托和传递给委托的方法参数类型和个数需要一致
5.多播委托
一个委托的对象可以绑定多个方法。当调用这个委托的对象的时候依次调用绑定的方法。
通过 “+” 来实现多个方法的绑定
三丶事件
事件的理解:事件与委托相似,当委托时被封装在类中,成为了事件
规范:
例子:Object 可以代表触发事件的对象,BoiledEventArgs代表关键参数,例如警报器需要的温度参数.
以热水器加热水温为例,当温度到达一定程度时,警报器发出警报
分析:
1.两个类,分别时热水器和警报器。
2.热水器有温度,型号等变量,存在一个加热的方法,以及一个继承了EventArgs类的温度参数类,BoiledEventArgs;
3.警报器存在一个方法,绑定事件后,当事件触发则调用此方法
热水器的类
基本数据
委托和事件
关键的温度参数
存在烧水的方法,当水温大于一定温度时,将变量传递给温度类,使温度参数获取具体的值,判断事件是否绑定了警报方法,如果绑定了则传递热水器对象和温度参数,并执行绑定的方法。
创建警报器类,存在警报方法,如果绑定了事件,促发事件时则调用次方法。将sender转换为heater类可以访问热水器的基本信息.
主函数创建热水器类和警报器类,警报方法绑定事件,促发事件BoiledWater.调用警报方法。
四丶using
2.using别名,当不同的命名空间有相同的类时,区分两者的方法.
不同命名空间有同名的类
别名区分aclass= 第一个空间Myclass
使用方法。
五丶@符号用法
1.
避免转义字符与需要的字符串冲突。
2。用于跨行字符
3.可以把关键字符便是当作普通的变量使用
(不经常用)
六丶预处理指令
1.#define,#undef,要求写在第一行。
如果有DEBUG则会执行#IF内的语句,否则不执行
try-catch-finally捕获异常
例子