学学习网 手机版

学学习网

学习路径: 学习首页 > 应用开发 > C# >

第十五章 .NET编程经验分享

设置字体:
----------------------------------
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(""); 
       
----------------------------------
课程列表
重点难点
赞助链接