关于C#.net的四个操作技巧

来源 :考试周刊 | 被引量 : 0次 | 上传用户:liuwanfu2006
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: Visual C#.net是Visual Studio系列中的最新成员。本文列举了C#.net编程中的几个常用操作技巧。
  关键词: C#.net 编程操作技巧
  
  Visual C#.net是Visual Studio系列中的最新成员。这种新语言在计算机高级语言C/C 的基础上深化了面向组件编程的有关内容。下面是我在使用C#.net编程中总结的几点技巧。
  
  一、使用属性代替原始数据
  
  因为属性是语言本身的元素,所以我们在声明数据元素时,它的作用域等级没有必要大于“private”。因为代码本身会把属性看成数据元素,我们并没有失去使用简单数据类型的便利性。相反,它会使代码更加灵活、功能更加强大。属性使数据元素封装性更好,它可以使用“lazy evaluation”来返回数据。lazy evaluation的意思是当用户请求时才计算它的值,而不是一直保留着它。属性可以是“virtual”,也可以是“abstract”。我们也可以在接口中定义属性。对于维护方面的因素我们应当注意:尽管操作两者的方法是一样的,但是我们把一个数据元素变成属性,那么原先客户端的程序便不能访问服务端的新版本程序了。实际上对于在Web service中想实现序列化的值,我们可以把它们变成属性来使用:
  private int TheMonth = 0;
  public int Month
  { get { return TheMonth; }
  set { TheMonth = value; } }
  我们这样简单地通过属性就可以使所有数据元素私有化。
  
  二、尽量使用接口来编程
  
  C#.net框架包括类和接口,在编写程序时,我们可能知道正在用C#.net的哪个类。然而,在这种情况下如果我们用C#.net支持的接口而不是用它的类来编程时,代码会变得更加稳定、可用性会更高。如一段代码从一个可为任何对象的数组中加载ListBox,这段代码被限定为只能使用数组。假设过些时候我们发现那些对象存在数据库中,或别的集合中,那么,我们就需要修改程序来使用不同的集合类型。如果用ICollection接口来写那段程序,我们就不用修改那段程序了,因为对于任何实现ICollection接口的类型它都能很好地工作:ICollection被数组和所有System.Collection中的集合实现。此外,多维数组也支持ICollection接口。如果那还不够的话,数据库.net类同样支持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]李兰友,杨晓光.Visual C#.net程序设计.北京:清华大学 北方交通大学出版社,2004.
  [2]王昊亮,李刚等.Visual C#程序设计教程.北京:清华大学出版社,2003.
  [3]孙永强等.Visual C#.net入门与提高.北京:清华大学出版社,2002.
  [4]郭胜等.C#.net程序设计教程.北京:清华大学出版社,2002.
  [5]B-power工作室.C#网络程序设计.北京:中国铁道出版社,2001.
  [6][美]Anders Hejlsberg,Scott Wiltamuth,Peter Golde著.张晓坤,谭立平,车树良译.C#编程语言详解.北京:电子工业出版社,2004.
其他文献
“减负”是教育界的热门话题。但“减负”并不意味着不要质量,“减负”是为了“增效”,是为了提高教学质量。实现“减负增效”的关键是提高课堂教学效益,即让每个学生都能在一节课内最大限度地内化所学知识,并获得知、情、意、行等方面的和谐发展。要想提高英语课堂教学效率,就得优化教学的各个环节。下面我结合教学实践,谈谈对优化小学英语教学课堂教学的一些看法和做法。    一、优化呈现环节    呈现是新语言项目的
摘要: 本文分析了我国高校体育教学的现状,提出了从“健康第一”的角度来审视我国普通高校体育课,从而为我国高校体育教学的发展和进步提供了参考。  关键词: 高校体育教学“健康第一”原则    1.前言    普通高校体育课具备教授技术和健身的双重属性,有着娱乐和文化的成分,是体育课教材的必选内容。其在作为体育教材的使用过程中,不再是单纯的教授技术,而更加强调体育课对学生心理品质的锻炼价值,体现学生在
新课程特别强调要关注每个学生,激发他们学习英语的兴趣,帮助他们建立学习的成就感和自信心,使他们在学习过程中发展综合语言运用能力,提高人文素养,增强实践能力,培养创新精神。    一、转变教育观念    在过去的应试教育下,学生为了考试而学,最终学生只会学习,作为社会人所需要的其它方面素质都不能得到发展,这样培养出来的学生根本不能适应社会的需要,不能为社会的发展作出应有的贡献。对于学生自身而言,一个
摘要: 本文对第13届世界游泳锦标赛跳水比赛中国队的成绩进行了分析,进而指出了中国跳水员当前面临的困局,旨在为中国在跳水项目保持优势地位,为3年后的伦敦奥运会的奋斗目标提供理论依据。  关键词: 第13届世界游泳锦标赛跳水比赛中国跳水队挑战问题    1.前言    跳水,又称空中芭蕾。在国际舞台上,中国跳水队曾经一枝独秀,犹如无人能及的独舞者。然而近年来随着各国选手水平的迅速提高,中国跳水队已经
摘要: 本文分析了篮球比赛中影响比赛节奏的各种因素,提出了相应的控制比赛节奏的方法,旨在为篮球教学与训练工作者提供有益的参考。  关键词: 篮球比赛节奏影响因素掌握    “节奏”一词用得比较广泛,但最早使用于音乐。音乐对“节奏”的解释是:节奏是长短不同的各个音乐的相互关系,它包括了乐句里的所有音。但现在节奏一词在不同的范畴有着不同的概念。  人们对节奏的体验最多的莫过于音乐,而在体育运动中,如果
摘要: 篮球运动深受大学生们的欢迎,这给高校开展篮球运动奠定了基础,营造出了一个良好的篮球运动氛围。本文对篮球运动员的能量来源、产生疲劳的原因进行了分析,并提出了篮球运动员消除疲劳的方法。  关键词: 普通高校篮球运动员能量来源训练学特征消除疲劳    篮球是深受人们喜爱、非常普及的一个体育项目,在各高校都有一定的基础。高校开展篮球运动具有良好的发展空间,因为大学生的课余时间比中学生要多,且学习时
摘要: 本文作者对三所独立学院部分学生的体育消费动机、种类和观念等进行了调查分析,提出了促进大学生体育消费发展的建议,为加快独立学院体育课程的改革,引导大学生进行合理的体育消费提供了科学的理论依据。  关键词: 独立学院学生体育消费特征分析    1.引言    体育消费一般是指人们用于体育健身娱乐与休闲的个人支出,它包括在参与体育活动和观赏运动竞赛表演过程中对体育服务产品和与体育活动直接有关的体
矿用液压挖掘机是六十年代末以后在西欧几个国家发展起来的,至今已有十多年历史了。实践证明,它同机械式挖掘机比较,具有重量轻、操作轻便,挖掘力大、铲斗装满系数高、多用
摘要: 数字化对社会的各个领域均有深远的影响,教育也不例外。教育的数字化使得传统的教学模式受到冲击,使得教学方式更加多样化,也在一定程度上改变了学生的角色,传统教学中学生的角色已不再适应新形势的要求,因此我们要对数字化时代学生的角色进行重新定位。本文对此进行了探讨。  关键词: 数字化时代学生角色定位转变    现代社会正日益走向网络化和信息化。无处不在的数字化信息,在某种意义上正改变着人们的生存
抛秧稻及其增产配套技术潘磊查福祥查卫东孙毛毛俞国强(余江县农业局土肥站335200)(余江县科委)水稻塑盘育秧抛栽是一项增产增收的育秧移栽新技术,是国家科委、农业部“九五”期间的重点