摘要:
工欲善其事,必先利其器,做为主流的.net开发工具,Visual Studio为我们提供了许多有用的小功能来帮助我们提高”生产效率”, 可有些有用的小功能还是没有人用或者很少有人用,在这里我怡笑大方,把我认为有用的功能总结一下,希望对大家有所帮助。刚开始,我还是从最常用的editor入手吧,如果大家觉得有帮助,我再写些别的。(注:本文所讲的以VS2005和Orcas Bet... 阅读全文
摘要:
园子里首页上基本都是些博主bala bala跟大家分享经验的文章,我来个换个话题,希望大家能喜欢。这个问题其实是Rico Mariani零四年发布在他blog中的一个非常棒的帖子,最终演化成了一个系列。(可能有人要问Rico Mariani是谁,嗯,基本上没有人比他更有资格谈.net performance了),我在这里发的其实就是此系列的第一篇。考虑下面三种选择1sw.WriteLine(sub... 阅读全文
摘要:
C#解压.zip文件,网上一搜一大堆方法,有使用System.IO.Compression.GZipStream的,有使用J#库函数的,也有仿Java自己写库函数的,但好多都不大好使,最终发现还是系统函数System.Shell.Folder.copyHere(oItem [, intOptions])最为好使。具体方法如下: 1. 添加引用 Shell32.dll,可以在Windows\sys... 阅读全文
摘要:
Extension method,可以对现有类功能进行扩充,从而使该类型的实例具有更多的方法(功能)。有人可能会提出疑问,如果是对类进行扩充,那使用继承不就ok了?是的,使用继承确实可以达到扩充功能的目的,但也会带来更多的问题,比如该使用子类的地方,传入的却是父类对象;比如想扩充的类为第三方提供,我们无法得知其内部细节等等。抛开这些统统不谈,为了让一个类型的实例增加一个方法,我们就要使用继承创造... 阅读全文
摘要:
Item1:Always Use Properties Instead of Accessible Data Members 尽可能使用属性而不是数据成员。原因非常简单,因为属性是类的外部接口,而数据成员为类的内部实现,使用属性对内部成员进行封装,并添加额外的功能,譬如赋值前检查、设置为只读等等,也更能符合OO的要求,毕竟把内部数据成员直接暴露给外界是十分危险的的事情。 ... 阅读全文
摘要:
我们来看下列变量声明 var i=5; var numbers=new int[]{1,2,3}; 首先,C# compiler 会在同一个namespace范围内寻找用户自定义的var类型,如果找到,则把i, numbers做作var类型处理。如果没找到,则认为i, numbers为implicitly typed local variables,并根据其初始值确实其类型,上述代码的IL代码... 阅读全文
摘要:
不知不觉间,己经加入C# QA team四个多月了,天天在和Orcas打交道,却一直没有好好的去学习C# 3.0。现在Orcas beta1己经sign off,我想也是时间开始认识学习C# 3.0了。今天我先写些目前为止我认识的C# 3.0,并纠正部分人的错误认识,并稍说明一下Linq,XLinq和DLinq.Orcas使用的.net freamwork 不是3.0,而是.net freamwo... 阅读全文