1、Auto属性 它是替换包含一个公共,两个私有成员属性的最好办法。 按下两次Tab键(需要开启代码片段功能),一个Auto属性就创建好了,再按Tab键Auto属性取一个名字。下面这段代码: <CODE> private double _total; public double Total { get { return _total; } set { _total = value; } } </CODE> 就变成了 <CODE> public double Total { get; set; } </CODE> 注意你仍然可以根据你的设计应用访问说明符,编译器应该会为你创建私有成员变量。 2、克服String.Split方法的局限 String.Split是分隔字符串最理想的方法,但据我们所知,它也有一些限制,如不能使用“||”或“::”这样的字符,必须使用键盘上独一无二的单个字符作为分隔符,这个缺点可以使用RegEx库提供的Split方法来克服掉,下面的代码显示了使用RegEx Split分隔一个“||”分隔字符串。 <CODE> string delimitedString = "String.Split || RegEx.Split"); string[] ouputString = System.Text.RegularExpressions.Regex.Split( delimitedString, , System.Text.RegularExpressions.Regex.Escape("||")); </CODE> 3、显性和隐性接口实现 这很重要吗?是的,非常重要,你知道它们之间的语法差异吗?其实它们存在根本性的区别。类上的隐性接口实现默认是一个公共方法,在类的对象或接口上都可以访问。而类上的显性接口实现默认是一个私有方法,只能通过接口访问,不能通过类的对象访问。下面是示例代码: <CODE> INTERFACE public interface IMyInterface { void MyMethod(string myString); } CLASS THAT IMPLEMENTS THE INTERFACE IMPLICITLY public MyImplicitClass: IMyInterface { public void MyMethod(string myString) { /// } } CLASS THAT IMPLEMENTS THE INTERFACE EXPLICITLY public MyExplicitClass: IMyInterface { void IMyInterface.MyMethod(string myString) { /// } } MyImplicitClass instance would work with either the class or the Interface: MyImplicitClass myObject = new MyImplicitClass(); myObject.MyMethod(""); IMyInterface myObject = new MyImplicitClass(); myObject.MyMethod(""); |