一丶
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修饰符