摘要: 1. 逐过程 F10:一行一行的执行,如果某一行是一个函数的调用,不进入该函数。 逐语句 F11:一行一行的执行,如果某一行是一个函数的调用,会进入该函数。 跳出方法 shift + F11 执行到光标处:Ctrl + F10 阅读全文
posted @ 2019-07-26 10:57 LiLiuwei 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 基本概念 1.进程在应用层产生数据,下发到运输层。 2.运输层有两种处理方式:UDP和TCP。 3.socket是对运输层协议的封装,包括TCP和UDP。 4.socket像是一扇数据流入和流出的大门,地址是ip和port。 5.socket占用端口收发信息,进程占用socket即占用了该端口。 6 阅读全文
posted @ 2019-07-25 13:46 LiLiuwei 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 深克隆最佳方式是进行序列化和反序列化. 阅读全文
posted @ 2019-07-30 17:33 LiLiuwei 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 判断自定义类型 (1)判断两个引用是否指向堆中的同一个实例 (2)判断两个引用指向的实例是否相等 (3)重载 == 运算符,调用重写的Equals()方法。 (4)重载 != 运算符,调用重写的Equals()方法。 (5)实现IComparable接口的CompareTo()方法,然后通过调用Co 阅读全文
posted @ 2019-07-30 17:21 LiLiuwei 阅读(530) 评论(0) 推荐(0) 编辑
摘要: (1)struct要么不声明构造函数(会有一个默认的无参构造函数),要么声明有参构造函数,struct不支持显示声明无参构造函数. (2)struct的构造函数支持重载. (3)struct的所有构造函数内部必须对所有字段和属性赋值. (4)使用struct的方法前,必须已经对所有字段赋过值. 阅读全文
posted @ 2019-07-30 17:14 LiLiuwei 阅读(117) 评论(0) 推荐(0) 编辑
摘要: Object --> ValueType(class) -->结构,枚举(值类型) Object --> 类,接口,委托(引用类型) (1)任何引用类型的成员变量最终都是由基本数据类型(值类型)构成的. (2)引用类型的值类型成员,会分配在栈上;值类型的引用类型成员会分配在堆上. 1.值类型和引用类 阅读全文
posted @ 2019-07-30 16:38 LiLiuwei 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 序列化和反序列化的规则 <1>NewtonSoft只能操作public属性(原则上C#编程中不定义public的字段,所以不说字段) <2>Json字符串若提供类中没有的属性,反序列化时会忽视之,并不抛出异常 <3>反序列化的过程: 调用无参构造函数,new出一个实例,然后使用Json字符串中包含的 阅读全文
posted @ 2019-07-27 08:35 LiLiuwei 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 字段和属性的选择原则 1.优先使用属性 2.字段肯定是private 3.set和get访问器里面包含逻辑代码时,定义一个支持字段 4.除了3情况,其他情况都使用属性 5.通过1,2,3,4发现,仅存在两种情况:(1)仅使用自动属性 (2)显示定义支持字段,并为该字段提供带逻辑的属性。 自动属性 C 阅读全文
posted @ 2019-07-26 17:10 LiLiuwei 阅读(191) 评论(0) 推荐(0) 编辑
摘要: csv文件格式 例子 例子 1997,Ford,E350,"ac, abs, moon",3000.001999,Chevy,"Venture ""Extended Edition""","",4900.001999,Chevy,"Venture ""Extended Edition, Very L 阅读全文
posted @ 2019-07-23 11:37 LiLiuwei 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 使用递归算法,实现删除,清空,拷贝一个文件夹。 阅读全文
posted @ 2019-07-22 20:51 LiLiuwei 阅读(398) 评论(0) 推荐(0) 编辑