上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 40 下一页
摘要: 泛型与非泛型集合类在C#程序中是非常重要的一个基础概念,这里列一个表来进行对比:非泛型集合类泛型集合类描述ArrayListList表示具有动态大小的对象数组HashtableDictionary由键值对组成的集合SortedListSortedList和字典相似但有排序功能的集合QueueQueue表示标准的先进先出(FIFO)队列StackStack后进先出(LIFO)队列,提供压入和弹出功能 泛型与非泛型集合类在概念和功能上各有不同,其中非泛型集合类在取出值时需要进行类型的转换操作,如果加入值类型会引起装箱和拆箱的操作,这会带来巨大的性能额外开销,如果掌握好泛型数组之后可以不再需要用非泛 阅读全文
posted @ 2013-07-12 13:59 于为 阅读(469) 评论(0) 推荐(0)
摘要: 引言在软件开发过程中,并发控制是确保及时纠正由并发操作导致的错误的一种机制。从 ADO.NET 到 LINQ to SQL 再到如今的 ADO.NET Entity Framework,.NET 都为并发控制提供好良好的支持方案。并发处理方式一般分为乐观必并发与悲观必并发两种,本文将为大家介绍 Entity Framework 、 LINQ to SQL 中的并发处理方式。在本文最后,将提供一个了可参考的方案,结合事务 Transaction 处理复杂性对象的并发。目录一、并发处理的定义二、模型属性的并发处理选项三、Entity Framewrok 悲观并发四、Entity Framework 阅读全文
posted @ 2013-06-21 09:56 于为 阅读(338) 评论(0) 推荐(0)
摘要: 引言其实事务在数据层、服务层、业务逻辑层多处地方都会使用到,在本篇文章将会为大家一一细说。其中前面四节是事务的基础,后面的三节是事务的重点,对事务有基础的朋友可以跳过前面四节。文章有错漏的地方欢迎各位点评。目录一、事务的定义二、事务管理器三、在ADO.NET中实现事务四、隐式事务 TransactionScope五、在WCF中实现事务六、嵌套式事务七、异步事务一、事务的定义所谓事务,它是一个操作集合,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。典型的例子就像从网上银行系统的帐户A转帐到帐户B,它经过两个阶段:1.从帐户A取出款项。2.把款项放入帐户B中。这两个过程要么同时成功 阅读全文
posted @ 2013-06-21 09:55 于为 阅读(233) 评论(0) 推荐(0)
摘要: 引言本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。其中委托的BeginInvoke方法以及回调函数最为常用。而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中,可能更多人只会留意在客户端使用Ajax或者在服务器端使用UpdatePanel。其实合理使用I/O线程在通讯项目或文件下载时,能尽量降低IIS的压力。并行编程是Framework4.0中极力推广的异步操作方式,更值得更深入地学习。希望本篇文章能对各位的学习研究有所帮助,当中有所错漏的地方敬请点评。 阅读全文
posted @ 2013-06-21 09:53 于为 阅读(246) 评论(0) 推荐(0)
摘要: 引言本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。其中委托的BeginInvoke方法以及回调函数最为常用。而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中,可能更多人只会留意在客户端使用Ajax或者在服务器端使用UpdatePanel。其实合理使用I/O线程在通讯项目或文件下载时,能尽可能地减少IIS的压力。并行编程是Framework4.0中极力推广的异步操作方式,更值得更深入地学习。希望本篇文章能对各位的学习研究有所帮助,当中有所错漏的地方敬请点 阅读全文
posted @ 2013-06-21 09:51 于为 阅读(275) 评论(0) 推荐(0)
摘要: 引言本文主要是介绍进程(Process)、应用程序域(AppDomain)、.NET上下文(Context)的概念与操作。虽然在一般的开发当中这三者并不常用,但熟悉三者的关系,深入了解其作用,对提高系统的性能有莫大的帮助。在本篇最后的一节当中将会介绍到三者与线程之间的关系,希望对多线程开发人员能提供一定的帮助。因为时间仓促,文中有错误的地方敬请点评。目录一、进程的概念与作用二、应用程序域三、深入了解.NET上下文四、进程应用程序域与线程的关系一、进程的概念与作用进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。进程之间是相对独立的,一个进程无法直接访 阅读全文
posted @ 2013-06-21 09:50 于为 阅读(249) 评论(0) 推荐(0)
摘要: 引言本篇文章将为你介绍一下 Delegate 的使用方式,逐渐揭开 C# 当中事件(Event)的由来,它能使处理委托类型的过程变得更加简单。还将为您解释委托的协变与逆变,以及如何使用 Delegate 使 Observer(观察者)模式的使用变得更加简单。在事件的介绍上,会讲述事件的使用方式,并以ASP.NET的用户控件为例子,介绍一下自定义事件的使用。最后一节,将介绍Predicate<T>、Action<T>、Func<T,TResult>多种泛型委托的使用和Lambda的发展过程与其使用方式。因为时间仓促,文中有错误的地方敬请点评。目录一、委托类型的 阅读全文
posted @ 2013-06-21 09:48 于为 阅读(274) 评论(0) 推荐(0)
摘要: 添加命名空间using ESRI.ArcGIS.SystemUI;using ESRI.ArcGIS.Controls;A类:前面有Controls后面有tool的工具都可以用同一类的代码实现(最后的tool或toolclass都可以)示例:privatevoid放大ToolStripMenuItem_Click(objectsender,EventArgse){ICommandCmd=newControlsMapZoomInTool();Cmd.OnCreate(this.axMapControl1.Object);this.axMapControl1.CurrentTool=CmdasIT 阅读全文
posted @ 2013-06-20 14:16 于为 阅读(1165) 评论(0) 推荐(0)
摘要: 前言:我们都知道面向对象的三大特性:封装,继承,多态。封装和继承对于初学者而言比较好理解,但要理解多态,尤其是深入理解,初学者往往存在有很多困惑,为什么这样就可以?有时候感觉很不可思议,由此,面向对象的魅力体现了出来,那就是多态,多态用的好,可以提高程序的扩展性。常用的设计模式,比如简单工厂设计模式,核心就是多态。其实多态就是:允许将子类类型的指针赋值给父类类型的指针。也就是同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。如果这边不理解可以先放一放,先看下面的事例,看完之后再来理解这句话,就很容易懂了。理解多态之前首先 阅读全文
posted @ 2013-06-13 10:22 于为 阅读(222) 评论(0) 推荐(0)
摘要: 最近写了几篇《c#扩展方法奇思妙用》的文章,一直只是讨论如何扩展、如何使用的问题,几乎没有涉及效率方面。而大家的回复好多都在问效率如何、性能怎样,也引起了我对效率的关注,今天将初步测试的结果发出来,大家一起探讨一下。以前没太写过性能测试的代码,上网找了一下,说可以用Stopwatch进行计时,比较准确。Stopwatch使用比较简单,几个方法从名字上就知道用用途:Reset(计时清零)、Start(开始计时)、Stop(停止计时),属性ElapsedMilliseconds就是执行操作所用的毫秒数。为了简化测试,让更多人看明白,我们这是对IsNullOrEmpty扩展进行测试,它只是简单调用s 阅读全文
posted @ 2013-06-09 13:43 于为 阅读(270) 评论(0) 推荐(0)
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 40 下一页