• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 学前教育 > 正文

    关于C#.net的四个操作技巧|关于c级19寸鼓包

    时间:2018-12-30 03:37:18 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘要: Visual C#.net是Visual Studio系列中的最新成员。本文列举了C#.net编程中的几个常用操作技巧。   关键词: C#.net 编程操作技巧
      
      Visual C#.省略编程中总结的几点技巧。
      
      一、使用属性代替原始数据
      
      因为属性是语言本身的元素,所以我们在声明数据元素时,它的作用域等级没有必要大于“private”。因为代码本身会把属性看成数据元素,我们并没有失去使用简单数据类型的便利性。相反,它会使代码更加灵活、功能更加强大。属性使数据元素封装性更好,它可以使用“lazy evaluation”来返回数据。lazy evaluation的意思是当用户请求时才计算它的值,而不是一直保留着它。属性可以是“virtual”,也可以是“abstract”。我们也可以在接口中定义属性。对于维护方面的因素我们应当注意:尽管操作两者的方法是一样的,但是我们把一个数据元素变成属性,那么原先客户端的程序便不能访问服务端的新版本程序了。实际上对于在Web service中想实现序列化的值,我们可以把它们变成属性来使用:
      private int TheMonth = 0;
      public int Month
      { get { return TheMonth; }
      set { TheMonth = value; } }
      我们这样简单地通过属性就可以使所有数据元素私有化。
      
      二、尽量使用接口来编程
      
      C#.省略的哪个类。然而,在这种情况下如果我们用C#.net支持的接口而不是用它的类来编程时,代码会变得更加稳定、可用性会更高。如一段代码从一个可为任何对象的数组中加载ListBox,这段代码被限定为只能使用数组。假设过些时候我们发现那些对象存在数据库中,或别的集合中,那么,我们就需要修改程序来使用不同的集合类型。如果用ICollection接口来写那段程序,我们就不用修改那段程序了,因为对于任何实现ICollection接口的类型它都能很好地工作:ICollection被数组和所有System.省略类同样支持ICollection接口,用接口写的这个函数不用修改就可以在许多情况中使用。
      
      三、使用“delegate”类型设计自定义事件
      
      在编程中,除了“Method”和“Property”,任何“Class”都可以有自己的事件(Event)。定义和使用自定义事件的步骤如下:
      (1)在“Class”之外定义一个“delegate”类型,用于确定事件程序的接口。
      (2)在“Class”内部声明一个“public event”变量,类型为上一步骤定义的“delegate”类型。
      (3)在某个“Method”或者“Property”内部某处,触发事件。
      (4)Client程序中使用“+=”操作符指定事件处理程序。
      例子:
      public delegate void MyEventHandler(object sender, long lineNumber) ; // 定义Delegate类型,约束事件程序的参数
      public class DataImports
      {
      // 定义新事件NewLineRead
      public event MyEventHandler NewLineRead ;
      public void ImportData()
      {
      long i = 0 ; // 事件参数
      while()
      {
      i++ ;
      // 触发事件
      if( NewLineRead != null ) NewLineRead(this, i);
      //...
      }
      //...
      }
      //...
      }
      // 以下为Client代码
      private void CallMethod()
      {
      // 声明Class变量,不需要WithEvents
      private DataImports _da = null;
      // 指定事件处理程序
      _da.NewLineRead += new MyEventHandler(this.DA_EnterNewLine) ;
      // 调用Class方法,途中会触发事件
      _da.ImportData();
      }
      // 事件处理程序
      private void DA_EnterNewLine(object sender, long lineNumber)
      {
      // ...
      }
      
      四、IP与主机名解析
      
      使用System可以实现与Ping命令行类似的IP解析功能,例如将主机名解析为IP或者反过来:
      private string GetHostNameByIP(string ipAddress)
      {
      IPHostEntry hostInfo = Dns.GetHostByAddress(ipAddress);
      return hostInfo.HostName;
      }
      private string GetIPByHostName(string hostName)
      {
      System.IPHostEntry hostInfo = Dns.GetHostByName(hostName);
      return hostInfo.AddressList.ToString();
      }
      
      参考文献:
      [1]李兰友,杨晓光.省略程序设计.北京:清华大学 北方交通大学出版社,2004.
      [2]王昊亮,李刚等.Visual C#程序设计教程.北京:清华大学出版社,2003.
      [3]孙永强等.省略入门与提高.北京:清华大学出版社,2002.
      [4]郭胜等.省略程序设计教程.北京:清华大学出版社,2002.
      [5]B-power工作室.C#网络程序设计.北京:中国铁道出版社,2001.
      [6][美]Anders Hejlsberg,Scott Wiltamuth,Peter Golde著.张晓坤,谭立平,车树良译.C#编程语言详解.北京:电子工业出版社,2004.

    推荐访问:操作技巧 NET

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章