摘要:委托/delegate 本质是一个class,在class内外申明都可以 函数作为参数传递 用于实现事件和回调方法(线程,lambda) 派生自System.Delegate 类 申明委托delegate 实例化委托 参数是函数 事件Event 本质就是委托 区别在于用event修饰后,不能在对象外
阅读全文
摘要:反射 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。 优点 灵活 缺点 性能 可读性差,难维护调试 使用情境 需要动态创建实例 动态判断实例中属性或者方法 特性 核心类 using System.Reflection; System.Type【核心】 这个类中包含了
阅读全文
摘要:构造函数 方法名与类名相同 没有返回值类型 必须要通过new的形式调用 可以重载 静态构造函数 静态构造函数用于初始化任何静态数据,或执行仅需执行一次的特定操作。 将在创建第一个实例或引用任何静态成员之前自动调用静态构造函数。 析构函数 用于在类销毁之前释放类实例所使用的托管和非托管资源 一般GC隐
阅读全文
摘要:BackgroundWorker Winfrom程序经常会有一些后台耗时操作,例如批量处理,如果在主UI线程上执行,UI线程会卡死,用户的使用感觉会很差。 而BackgroundWorker提供了执行异步操作,配合ProgressBarControl进度条控件,用户能直观看到当前进度,主UI线程也不
阅读全文
摘要:FluentScheduler 轻量级的定时任务工具,时间设置很方便,很适合简单的定时任务开发 比起Hangfire不足在于没有做数据持久化和可视化 最新的版本是standard的,Framework和Core都可以直接install后使用 nuget安装FluentScheduler instal
阅读全文
摘要:Remoting 微软随.NET推出的一种分布式应用解决方案 管理应用程序域之间的 RPC 允许不同应用程序域之间进行通信 主要概念 远程对象 运行在Remoting服务器上的对象。 信道 信道是服务器和客户机进行通信用的 TCP:局域网内,速度快 HTTP:要穿越防火墙 IPC/Inter-Pro
阅读全文
摘要:乐观锁和悲观锁 悲观锁:相信并发是绝大部分的,并且每一个线程都必须要达到目的的。 乐观锁:相信并发是极少数的,假设运气不好遇到了,就放弃并返回信息告诉它再次尝试。因为它是极少数发生的 数据库并发问题 假如两个线程同时修改数据库同一条记录,就会导致后一条记录覆盖前一条,从而引发一些问题,常见的就是卖东
阅读全文
摘要:特性 对程序中的元素进行标注,用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为,本质上是一个类,其为目标元素提供关联附加信息,并在运行期以反射的方式来获取附加信息。 System.Attribute [Attribute(parametar)] 目标元素 程序集(assembly)
阅读全文
摘要:摘要 复制一直是面试喜欢问的问题,这里总结一下 浅复制与深复制 浅copy:只复制引用,修改后对原来的变量有影响。 深copy:复制引用和引用的对象,修改后对原来的变量没有影响 =复制 浅复制 值类型:复制值,修改后对原来的变量没有影响 引用类型:复制引用地址,修改后对原来的变量有影响 String
阅读全文
摘要:摘要 string虽然是引用类型,但使用过程中却又有很多值类型的特征。 字符串恒定性 一旦创建了一个string,在managed heap上分配了一块连续的内存空间,之后将不能以任何方式对这个string进行修改使之变长、变短、改变格式。 所有对这个string进行各项操作(比如调用ToUpper
阅读全文
摘要:yield 关键字 看到这个语法糖很久了,一直也没有在实际中使用,最近在新项目中看到有人用了,还是挺方便的,总结一下使用方法 单词yield有产出,产量的意思,在c#中作为语法糖配合for返回IEnumerable yield return一次一个的返回 yield break终止迭代 public
阅读全文