文章分类 -  C#编程

摘要:https://www.cnblogs.com/lsgsanxiao/p/5845300.html 阅读全文
posted @ 2020-06-19 18:44 QuincyYi 阅读(40) 评论(0) 推荐(0) 编辑
摘要:在C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant)。前者用“const”来定义,后者用“readonly”来定义。 对于静态常量(Compile-time constant),它的书写方式如下: pub 阅读全文
posted @ 2020-06-19 18:36 QuincyYi 阅读(4459) 评论(0) 推荐(0) 编辑
摘要:在C#程序中,经常会有一些耗时较长的CPU密集型运算,如果直接在 UI 线程执行这样的运算就会出现UI不响应的问题。解决这类问题的主要途径是使用多线程,启动一个后台线程,把运算操作放在这个后台线程中完成。但是原生接口的线程操作有一些难度,如果要更进一步的去完成线程间的通信就会难上加难。 还好 .NE 阅读全文
posted @ 2020-06-13 15:10 QuincyYi 阅读(131) 评论(0) 推荐(0) 编辑
摘要:托管资源指的是.NET可以自动进行回收的资源,主要是指托管堆上分配的内存资源。托管资源的回收工作是不需要人工干预的,有.NET运行库在合适调用垃圾回收器进行回收。非托管资源指的是.NET不知道如何回收的资源,最常见的一类非托管资源是包装操作系统资源的对象,例如文件,窗口,网络连接,数据库连接,画刷, 阅读全文
posted @ 2020-06-02 17:29 QuincyYi 阅读(239) 评论(0) 推荐(0) 编辑
摘要:目的: 为了及时释放宝贵的非托管资源和托管资源,并且保证资源在被gc回收的时候可以正确释放资源,同时兼顾执行效率 必须遵循的事实: 1 托管资源释放: 由另一线程的gc进行释放,当托管的对象没有被引用时,就会在“适当的时候”进行回收 如果定义了析构函数,回收的时候会调用析构函数(实际执行可能有差别) 阅读全文
posted @ 2020-04-26 08:19 QuincyYi 阅读(158) 评论(0) 推荐(0) 编辑
摘要:我原本认为对于IDispose的实现方法,只要在里面释放非托管资源就行了,但是通过网上资料,看到很多实现方法并不是仅仅做释放非托管资源,非常迷惑,关键是这些资料也没详细的告诉你为什么这么做?之后通过StackOverflow了解到这一步一步的原因,说的十分详细,结合自己的认识,翻译后分享给大家: 一 阅读全文
posted @ 2020-04-26 08:18 QuincyYi 阅读(133) 评论(0) 推荐(0) 编辑
摘要:invoke和begininvoke 区别 一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解。 首先说下,invoke和begininvoke的使用有两种情况: 1. control中的invoke、begininvoke。 阅读全文
posted @ 2020-04-14 08:44 QuincyYi 阅读(189) 评论(0) 推荐(0) 编辑
摘要:【分析】浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang) 今天无意中看到有关Invoke和BeginInvoke的一些资料,不太清楚它们之间的区别。所以花了点时间研究了下。 据msdn中介绍,它们最大的区别就是BeginInvoke属于异步 阅读全文
posted @ 2020-04-14 08:40 QuincyYi 阅读(122) 评论(0) 推荐(1) 编辑

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示