大纲:
1.C#中的访问修饰符
protected:受保护的,可以在当前类的内部以及该类的子类中访问。
public:公开的公共的
private:私有的,只能在当前类的内部访问
internal:只能在当前项目中访问。在同一个项目中,internal和public的权限是一样的。
protected internal:protected+internal
1、能够访问修饰类的访问修饰符只有两个:public、internal
2、可访问的性不一致
子类的访问权限不能高于父类的访问权限,会暴露父类的成员
2.list的添加和删除
添加单个元素用Add,添加集合元素用AddRange
list.Clear();清空所有元素;
list.Remove(true);删除单个元素,写谁就删谁
list.RemoveAt(0);根据下标去删除元素
list.RemoveRange(0,3);根据下标去移除一定范围的元素
3.ArraryList集合的长度问题
每次集合中实际包含的元素个数(count)超过了可以包含的元素的个数(capcity)的时候,
集合就会向内存中申请多开辟一倍的空间,来保证集合的长度一直够用。eg:5-8 9-16
4.键值对
在键值对集合当中,键必须是唯一的,而值是可以重复的
5.File类的读写文件
ReadAllText读到的是一个字符串
绝对路径:通过给定的路径直接能在我的电脑上找到文件
相对路径:文件相对于应用程序的路径
注:在开发中尽量去使用相对路径
集合转数组ToArray();
数组转集合ToList():
6.装箱、拆箱
装箱:就是将值类型转换为引用类型。
拆箱:将引用类型转换为值类型。
看两种类型是否发生了装箱或者拆箱,要看,这两种类型是否存在继承关系。
7、设计模式
设计这个项目的一种方式。
1.简单工厂设计模式
8、值类型和引用类型
值类型在复制的时候,传递的是这个值的本身。
引用类型在复制的时候,传递的是对这个对象的引用。
形参和实参都是实实在在在内存中开辟空间的
值类型的值存在栈上,int,double,char,decimal,bool,enum,struct
引用类型的值存在堆上,string数组,自定义类,集合,object接口
9.ref
能够把一个变量以参数的形式带到一个方法中进行改变,再将改变完成后的值带出来
把值传递转换成了引用传递
10、序列化和反序列化
序列化和反序列化:就是将对象转换位二进制
反序列化:就是将二进制转换为对象
作用:传输数据。
序列化:
1)、将这个类标记为可以被序列化的
11、密封类
不可以被继承,但是可以继承其他类。
12、接口
[public] internace I...able
{
成员;
}
接口中的成员不允许添加访问修饰符,默认就是public;
不允许写具有方法体的函数;