c#
文章平均质量分 62
逍遥灬申
这个作者很懒,什么都没留下…
展开
-
C#中的异步调用及异步设计模式(一)
近期项目中使用了不少异步操作,关于“异步”做个总结。总结的内容大部分都来自于MSDN,还有一些自己的心得。 关于“异步”的使用可分为:使用层面和类库设计层面,细分如下: 一、使用异步方式调用同步方法(使用层面)。 二、使用 IAsyncResult 调用异步方法(使用层面)。 三、基于 IAsyncResult 的异步设计模式(设计层面)。 四、基于事件的异步模式(设转载 2012-07-04 16:07:10 · 1111 阅读 · 0 评论 -
C#中的异步调用及异步设计模式(二)——基于 IAsyncResult 的异步设计模式
三、基于 IAsyncResult 的异步设计模式(设计层面) IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来实现原同步方法的异步调用,如 FileStream 类提供了 BeginRead 和 EndRead 方法来从文件异步读取字节,它们是 Read 方法的异步版本 Begin 方法转载 2012-07-04 16:08:53 · 471 阅读 · 0 评论 -
C#中的异步调用及异步设计模式(三)——基于事件的异步模式
四、基于事件的异步模式(设计层面) 基于事件的C#异步编程模式是比IAsyncResult模式更高级的一种异步编程模式,也被用在更多的场合。该异步模式具有以下优点: · “在后台”执行耗时任务(例如下载和数据库操作),但不会中断您的应用程序。 · 同时执行多个操作,每个操作完成时都会接到通知(在通知中可以区分是完转载 2012-07-04 16:10:00 · 926 阅读 · 0 评论 -
c#中Action<T>和Func<T>委托
泛型Acion委托表示引用一个void返回类型的方法,至多可以传递至16个参数类型,没有泛型的Action类可调用没有参数的方法,如 class Test { public static void show() { Console.WriteLine("show"); } static void Main(str原创 2012-06-26 10:27:10 · 1327 阅读 · 0 评论 -
c#在多线程中如何调用Winform
每一个从Control类中派生出来的WinForm类(包括Control类)都是依靠底层Windows消息和一个消息泵循环(message pump loop)来执行的。消息循环都必须有一个相对应的线程,因为发送到一个window的消息实际上只会被发送到创建该window的线程中去。其结果是,即使提供了同步(synchronization),你也无法从多线程中调用这些处理消息的方法。大多数plum转载 2012-06-25 11:50:12 · 514 阅读 · 0 评论 -
c#中foreach与接口IEnumerator和IEnumerable
用foreach可以遍历集合中所有元素,实现:c#编译器会把foreach语句转换为IEnumerable接口中的方法和属性,例如 foreach(var val in intseq) { Console.WriteLine(val); } c#编译器把上述代码转换为: IEnumerator enumerator =intseq.GetEnumerator; while(enu原创 2012-06-27 10:48:05 · 2984 阅读 · 0 评论