C# 知识点总结

2021-07-01 01:10

阅读:494

标签:文件操作   最好   .net   的区别   asp   选择   binary   身份验证   用途   

代码原则

1.职责单一原则

2.枚举类型最好不要用 数字表示


初级
1.抽象类,接口的区别
抽象类需要被继承,不能实例化,子类必须实现其抽象方法,抽象方法没有方法体,是为了子类不要忘记写某个方法而出现的
接口看成是抽象类的补充(子类实现基类中的所有方法,还可以选择性的实现某些功能)
override :抽象方法,子类要必须重写。虚方法,子类可以不必重写虚方法

2.序列化
序列化通俗的讲就是将一个对象转换成一个字节流的过程,这样就可以轻松的保存在磁盘文件或数据库中。反序列化就是序列化的逆过程,就是将一个字节流换回原来
的对象的过程。
对于序列化的主要用途有:

1)、将应用程序的状态保存在一个磁盘文件或数据库中,并在应用程序下次运行时恢复状态。例如, Asp.net 中利用序列化和反2)、序列化来保存和恢复会话状态。
3)、一组对象可以轻松复制到Windows 窗体的剪贴板中,再粘贴回同一个或者另一个应用程序。
将对象按值从一个应用程序域中发送到另一个程序域
并且如果把对象序列化成内存中的字节流,就可以利用一些其他的技术来处理数据,例如,对数据进行加密和压缩等。

总结:
a,如果是json格式,NewtonSoft.Json最通用(可以处理循环引用),虽然它不是速度最快的。

b,如果是xml格式,就使用.net自带的XmlSerializer。将对象序列化成XML文件

c,如果是二进制格式,就使用.net自带的BinaryFormatter,虽然Protobuf速度很快,但是要加序号很麻烦。

3.XML操作

4.委托和事件的关系
委托是一种类型(可以看出是方法的模板),事件可以看成是委托的一种特殊的实例化;
事件只能在其定义类的内部调用,在外部提供接口供用户绑定方法。而委托可以在外部被实例化,调用。这就是事件与委托对象的唯一区别
委托主要是用来解耦(程序开发要秉承着可扩展思想),无委托无异步。

中级
1.文件操作 (Excel文件操作)
2.文件上传(web api 文件上传,asp.net 文件上传,WinForm文件上传)
3.登录防篡改身份验证
4.Web api 接口鉴权认证Token
5.激光推送
6.泛型
7.Linq,lambda表达式
8.MVC
9. web api
10.EF 的Code First和 DB First
11.反射应用

高级

 

帮助类
log --日志类
JSON.NET --实现json的序列化和反序列化,推荐使用NewtonSoft
NewtonSoft.Json --实现json的序列化,推荐
System.Web.HttpUtility --用于提供URL字符串编码和解码

C# 知识点总结

标签:文件操作   最好   .net   的区别   asp   选择   binary   身份验证   用途   

原文地址:https://www.cnblogs.com/haigui-zx/p/9964298.html


评论


亲,登录后才可以留言!