随笔分类 -  .NET/C#

有关.NET/C#的技术文章
摘要:首先来看一个简单的例子:小明在烧水,等水烧开以后,将开水灌入热水瓶,然后开始整理家务小文在烧水,在烧水的过程中整理家务,等水烧开以后,放下手中的家务活,将开水灌入热水瓶,然后继续整理家务这也是日常生活中很常见的情形,小文的办事效率明显要高于小明。从C#程序执行的角度考虑,小明使用的同步处理方式,而小文则使用的异步处理方式。同步处理方式下,事务是按顺序一件一件处理的;而异步方式则是,将子操作从主操作... 阅读全文
posted @ 2008-11-10 13:41 dax.net 阅读(9362) 评论(2) 推荐(11) 编辑
摘要:委托是C#中最为常见的内容。与类、枚举、结构、接口一样,委托也是一种类型。类是对象的抽象,而委托则可以看成是函数的抽象。一个委托代表了具有相同参数列表和返回值的所有函数。比如:view plaincopy to clipboardprint?delegateintGetCalculatedValueDelegate(intx,inty);在上面的定义中,我们定义了一个委托,这个委托代表着一类函数,... 阅读全文
posted @ 2008-11-08 20:23 dax.net 阅读(9832) 评论(12) 推荐(8) 编辑
摘要:在C#中,ref的意思是按引用传递。可以参考C++:view plaincopy to clipboardprint?inta=10,b=20; voidswap(intx,inty) { inttemp=x; x=y; y=temp; }如果简单的调用这个swap,比如:swap(a, b),那么你根本没办法交换这两个变量的值,因为x和y都是形参,在swap返回的时候,x和y都被释放了。但如果是... 阅读全文
posted @ 2008-11-07 15:50 dax.net 阅读(2228) 评论(2) 推荐(2) 编辑
摘要:应用程序配置文件的文件名是可以任意更改的。比如:向当前的可执行项目中添加一个XML文件,取名abc.config,输入以下代码 view plaincopy to clipboardprint?<?xmlversion="1.0"encoding="utf-8"?><configuration><appSettings><addkey="k"value="... 阅读全文
posted @ 2008-11-06 14:14 dax.net 阅读(1125) 评论(0) 推荐(0) 编辑
摘要:很多人都说使用Abort方法来终止线程,其实这种做法并不可取!如果你的线程正在操作临界资源,很有可能会造成资源没有正确释放而出现死锁问题。正确的做法应该是使用标记来终止线程的执行。基本思路是:定义一个用于描述“停止”信号的变量,在整个程序启动前,设置该变量为false。在线程中,循环判断该变量是否已经被设置为true,如果没有,则继续执行,否则就退出循环并释放资源,然后退出... 阅读全文
posted @ 2008-11-06 11:38 dax.net 阅读(3866) 评论(2) 推荐(0) 编辑