随笔分类 -  C#

摘要:对于窗体程序,使用基于任务的异步模式需要用到Task类,下面示例下非常简单的用法。 1.创建一个拥有异步方法的类 该类拥有一个异步方法DoSomthingAsync,根据微软建议的命名规则该方法要带Async后缀 当调用该方法的时候,就是异步执行的。为了在该方法执行完成后做进一步处理,需要写一个任务 阅读全文
posted @ 2018-09-30 11:23 feipeng8848 阅读(686) 评论(0) 推荐(1) 编辑
摘要:代码如下: 演示如下: 阅读全文
posted @ 2018-09-28 14:08 feipeng8848 阅读(551) 评论(0) 推荐(0) 编辑
摘要:委托 声明一个委托类(型): 这里声明了一个委托类,叫Comparison(Comparison等级上是与String、Button等一样的,是类,非变量),用Comparison可以创建实例(就像用String str = new String() 创建str实例一样),一般我们把这个实例也叫做“ 阅读全文
posted @ 2018-09-25 18:01 feipeng8848 阅读(539) 评论(0) 推荐(0) 编辑
摘要:https://docs.microsoft.com/zh-cn/dotnet/standard/events/how-to-raise-and-consume-events 第一个示例演示如何引发和使用一个没有数据的事件。 它包含一个名为 Counter 类,该类具有一个名为 ThresholdR 阅读全文
posted @ 2018-09-19 14:46 feipeng8848 阅读(1149) 评论(0) 推荐(0) 编辑
摘要:C# lock 关键字的一些理解 问题1:谁是锁? lock 这个关键字,并不是“锁”,真正的“锁”是那个被lock的Object类型的“对象”,请注意,这里为“对象”加了双引号着重强调被lock的是对象类型。 问题2:这个锁有什么用? 在C# lock关键字定义如下: 根据lock的定义,它有两种 阅读全文
posted @ 2018-09-15 11:02 feipeng8848 阅读(2508) 评论(0) 推荐(0) 编辑
摘要:原文链接 阅读全文
posted @ 2018-09-13 17:19 feipeng8848 阅读(255) 评论(0) 推荐(0) 编辑
摘要:文件头: 函数头: 函数头 阅读全文
posted @ 2018-09-06 14:11 feipeng8848 阅读(493) 评论(0) 推荐(0) 编辑
摘要:读取不完就一直等待,读完了就立刻走,之前都是设置一个溢出时间,不管是不是早就读取完了都要在这等着,有一定的时间浪费。 注意,用之前要设置好SerialPort类的TimeOut属性: 阅读全文
posted @ 2017-12-19 16:01 feipeng8848 阅读(1918) 评论(0) 推荐(0) 编辑
摘要:如下代码: 在异步线程中操作Message变量,实测可行; 注意:(1)如果主线程不加延时的话Message变量还是空的,说明此时异步线程并未执行到赋值变量。 (2)这种做法不是线程安全的,如果有多个线程同时修改Message的话会造成数据混乱,非要这么使用的话最好在Message上加Look 阅读全文
posted @ 2017-09-21 20:00 feipeng8848 阅读(407) 评论(0) 推荐(0) 编辑