扩展
当方法主体是单个表达式时,可使用紧凑表达式格式定义方法,如下例中所示:
public override string ToString() => "This is an object";
return
直接跳出当前方法
ref和out区别:
ref修改后会将值带出
out修改后会将值带出,不能显示的赋值
虚方法、重写方法和抽象方法
虚方法是在基类中声明和实现的方法,其中任何派生类都可提供更具体的实现
重写方法是在派生类中实现的方法,可修改基类实现的行为
抽象方法是在基类中声明的方法,必须在所有派生类中重写。 事实上,抽象方法不在基类中定义实现。
静态和非静态
静态成员:被static修饰 实例成员:不被static修饰 静态成员先于实例成员被加载到内存中,只有创建了对象,才有实例成员。 静态类中只能存在静态成员 调用: 静态成员调用: 类名.静态成员名; 实例成员调用: 实例名.实例成员;(实例就是我们的对象) 什么时候使用静态? ---->作为工具类 ---->在整个项目中资源共享,正因为它是资源共享的,所以静态成员必须要等到整个项目都结束的时候 才会被资源释放。 在我们的项目中应该尽可能的少使用静态成员。因为会一直消耗我们的资源,程序结束的时候才会被释放 继承是创建对象的过程。
设计模式
---->单例设计模式 在整个程序中,我们要保证对象必须是唯一的。 实现: ---->第一步:构造函数私有化 ---->第二步:声明一个静态字段,作为全局唯一的单例对象 ---->第三步:声明一个静态函数,返回全局唯一的对象 ---->简单工厂设计模式
核心:把所有的子类都当做父类来看待
类库
.dll文件,我们使用类库来帮助我们封装一些常用的功能
打包成安装文件
方便安装,因为有时候不是只有复制可以搞定的,还需要指定存放目录、更改注册表、生成快捷方式等操作
打包可以减少程序的文件数量,方便程序的部署和发布,同时也可以保护程序的代码,防止被反编译和盗用。
生成xml文档文件
主要是生成///注释所产生的文档文件,设置方法,右键解决方案,生成>xml文档文件
List<T>常用的函数
- Add():添加单个元素
- AddRange():添加一个集合
- Insert():插入一个元素
- InsertRange():插入一个集合
- Remove():移除指定的元素
- RemoveAt():根据下标移除元素
- RemoveRange():移除一定范围内的元素
- ToArray():集合转换成数组
- ToList():数组转换成集合