摘要: 不管是Equals还是“==”都倾向于:对于引用类型看是否指向同一对象;对于值类型,判断类型的值是否相等。 对于 对象来说,地址不同的情况下,就算对象的值相同,两个对象也不会相等。如果想要两个对象在对象的值相等的情况下使得两个对象相等,就应该重载Equals运算符。 public override 阅读全文
posted @ 2022-12-11 12:15 Wen_Chen 阅读(18) 评论(0) 推荐(0)
摘要: enum:枚举类型,不声明第一个值的情况下,默认为0。而且里面的值输出只能是设定值 例: public enum Week { zero = 0, first = 1, sencond, third, four, five, six, seven, eight, nine, ten, } publi 阅读全文
posted @ 2022-12-11 10:09 Wen_Chen 阅读(26) 评论(0) 推荐(0)
摘要: const:是编译时的常量;修饰基元类型、字符串类型、枚举类型。const不属于变量、属性或索引,只能在定义的时候赋值,其他地方无法赋值。运行时不会经过const值。 readonly:是运行时的常量。语法糖,在类中赋值可以无限多次,但是实例赋值只能赋值一次 readonly当是值类型时,无法在外部 阅读全文
posted @ 2022-12-10 20:02 Wen_Chen 阅读(36) 评论(0) 推荐(0)
摘要: TryParse:类型转化耗时短,转化失败也能尽快跳出来。 Parse:类型转化成功的话与TryParse的耗时相差无几,转化失败会耗时多点。 用Stopwatch来计算运行时间 阅读全文
posted @ 2022-12-10 18:18 Wen_Chen 阅读(63) 评论(0) 推荐(0)
摘要: as:在用父类对象转子类时,成功返回子类实例。不成功返回null。 is:用于判断对象是不是属于该类的,若不是则false,是返回true 阅读全文
posted @ 2022-12-10 18:01 Wen_Chen 阅读(667) 评论(0) 推荐(0)
摘要: 死锁:1.占有且等待;2.循环等待;3.互斥;4.不可抢占。 sleep:让线程处于休眠状态,占用尽可能少的CPU内存时间 线程等待 终止线程 检测线程状态 线程优先级 前台线程与后台线程:初始化的线程不说明是后台,默认定为前台线程,isBackground定义成后台线程。后台线程会在进程结束后直接 阅读全文
posted @ 2022-11-25 16:23 Wen_Chen 阅读(47) 评论(0) 推荐(0)
摘要: 单例模式:确保全局只有一个该类的实例 预加载:占用内存,将类的实例化私有,在类中声明一个静态的实例。外部可以直接调用。 懒加载:无需占用内存,将类的实例化私有,且在类中创建一个该类的静态私有的实例对象。在类中声明一个静态的公共方法,通过调用该方法拿到类的实例,如果实例不存在则会调用初始化实例对象,存 阅读全文
posted @ 2022-11-25 15:05 Wen_Chen 阅读(24) 评论(0) 推荐(0)
摘要: 单一职责原则:(Model) 降低类的复杂度,一个类只负责一项职责。 提高类的可读性,可维护性。 降低变更引起的风险。 逻辑简单。 接口隔离原则:(继承至一个公共接口) 客户端不应该依赖其不需要的接口,即一个类对另一个类的依赖应该建立在最小接口上。 依赖倒置原则:中心思想:“面向接口编程” (接口定 阅读全文
posted @ 2022-11-25 14:22 Wen_Chen 阅读(178) 评论(0) 推荐(0)
摘要: 首先是解决,字符串拼接引起的注入问题。将连接字符串拿到config配置文件中。 <appSettings> <add key="Connection" value="server =.; database = db_test;uid = sa; pwd=123456;"/> </appSetting 阅读全文
posted @ 2022-08-20 15:42 Wen_Chen 阅读(167) 评论(0) 推荐(0)
摘要: FormEdit:子窗口的构造函数;this.cabinet:传给子窗口的值 FormEdit form2 = new FormEdit(this.cabinet); form2.StartPosition = FormStartPosition.CenterParent; // 为了让子窗口开始显 阅读全文
posted @ 2022-08-20 15:11 Wen_Chen 阅读(339) 评论(0) 推荐(0)