C#编程语言特性分析

来源 :城市建设理论研究 | 被引量 : 0次 | 上传用户:jf_long
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: C#新编程以后在各种操作系统平台上编写多种实现,现在应用实际上,许多第三方编译器供应商和操作人员已经把它作为标准来创建实现自己的C#编译器版本。本文作者结合实践工作经验对C#编程语言特点和主要新功能进行分析说明。
  关键词:C#;编程语言; 特点; 功能
  Abstract: C# after new programming in all operating systems on the platform of realizing write, are now used in fact, many third party compiler suppliers and operators have used it as a standard to create realize their c # compiler version. In this paper the author combined with practical work experience to C# programming language characteristics and main functions of the new analysis and explanation.
  Keywords: C#; Programming languages; Characteristics; function
  
  
  中图分类号:G623.58文献标识码:A 文章编号:
  1 C#的特点
  C#作为Microsoft的下一代面向对象的编程语言,开发人员在Microsoft的NET平台上快速地建立大量的应用程序,是一门现代、简单、完全面向对象的编程语言。C#是一种类似Java的软件编程语言,其设计目的是简化使用Microsoft软件的网络服务构件。
  1.1对C++的继承
  C#继承并保留了C++强大的功能,例如,C#保留了类型安全的检测和重载功能,C#还提供了一些新功能取代了一些原来的ANSI、C预处理程序的功能,提高了语言的类型安全等安全性。
  1.2快速应用开发(RAD)功能
  支持快速开发(Rapid Application development,RAD)可以说是目前开发语言最为重要的一大功能,支持快速开发可以使得开发人员的开发效率倍增,从而使得他们可以从繁重的重复性劳动中解放出来。C#的RAD功能主要表现在垃圾收集、指代等特性上。垃圾收集机制将减轻开发人员对内存的管理负担,指代功能更让开发者不经过内部类就调用函数。C#语言摒弃了C++中容易引发程序错误的地方。利用C#的这些功能,可以使开发者通过较少的代码来实现更强大的应用程序,并且能够更好地避免错误发生,从而缩短了应用系统的开发周期。
  1.3语言的自由性
  用C#编写的程序能最大程度地和任何支持.NET的语言互相交换信息。能够继承和使用任何语言所编写的程序,这样做的好处是节省了大量的工作,你不必把COBOL等语言强行改成另一种语言,NET让各种语言真正地互相交流了。
  1.4强大的Web服务端组件在C#的Web编程中,最让人兴奋的是Web服务端的组件,它们不仅包括传统组件,还包括那些能够自动连接服务的可编程组件,你可以用C#编写自己的服务器端组件,使用它们可以更自由、更容易地进行数据绑定。
  1.5支持跨平台
  随着互联网应用程序的应用越来越广,开发人员所设计的应用程序必须具有强大的跨平台性。C#编写的应用程序就具有强大的跨平台性,这种跨平台性也包括了C#程序的客户端可以运行在不同类型的客户端上,比如PDA、手机等非PC装置。
  1.6与XML的融合
  由于XML技术真正融入到了.NET之中,C#的编程变成了真正意义的网络编程,甚至可以说.NET和C#是专为XML而设计,使用C#的程序员可以轻松用C#内含的类来使用XML技术。就这方面而言,目前C#提供给了程序员更多的自由和更好的性能来使用XML。
  2 C#潜在的新功能
  C#是创新性的新式编程语言,它巧妙地结合了最常用的行业语言和研究语言中的功能。在保持C#设计思想不变的同时,Microsoft在C#语言中引入了几种潜在的新功能,提高了开发人员在语言构造方面的效率。C#语言中的许多功能是基于以下四種不同设计目标而创建的:
  (l)统一的类型系统以及简化值和引用类型在C#语言中的用法。
  (2)通过XML注释、特性、属性、事件和委托等功能建立基于组件的设计。
  (3)借助C#语言的独特功能(包括安全的指针操作、溢出检查等)建立实用的开发人员控制功能。
  (4)建立诸如foreach和using语句这样的实用语言构造,提高开发人员的效率。实际上,C#的未来创新功能主要基于统一的类型系统、基于组件的开发、开发人员控制功能和实用的语言构造。下面总结了
  Microsoft计划在C#语言的下一个主要版本中提供的四种主要的新功能。
  2.1泛型
  随着项目变得越来越复杂,程序员日益需要一种方法来更好地重复使用和自定义他们现有的基于组件的软件。为了实现在其他语言中重复使用高级代码,程序员通常要使用一种名为泛型的功能。C#将包括一种安全且高效的泛型,它与C++中的模板和Java语言中提出的泛型在语法上只是稍有差别,但在实现方式上却存在很大差别。
  2.1.1生成最新的泛型类
  利用目前的C#,程序员可以通过在基本对象类型的实例中存储数据来创建有限形式的真正泛型。由于在C#中每个对象都是从基本对象类型继承的,再加上统一.NET类型系统的装箱和取消装箱功能,程序员可以将引用类型和值类型存储到对象类型的变量中。但是,对于引用类型、值类型与基本对象类型之间的转换,还有一些性能缺陷。
  2.1.2创建和使用泛型
  使用C#中的泛型可以根据它们所用的类型创建专供编译器使用的高效数据结构。创建这些所谓的参数化类型,其内部算法保持不变,但其内部数据的类型可以随着最终用户的设置而改变。下例将创建一个Stack类,在此类声明后的尖括号中指定并声明一个名为Item Type的类型参数。泛型Stack类的实例将接受为其创建的类型并在本地存储该类型的数据,而不是在创建的类型与基本对象类型之间进行转换。
  2.1.3泛型的优点
  使用泛型,程序员只需编写、测试和部署一次代码,即可对各种不同的数据类型重复使用该代码。而且,编译时还会对泛型进行检查。当程序使用提供的类型参数实例化泛型类时,此类型参数只能是程序在类定义中指定的类型。此外,与其他严格的类型相比,泛型的C#实现降低了代码的膨胀速度。泛型创建具有类型的集合,可以在保持操作性能优势的同时避免创建每个类的特定变体。
  2.2迭代程序
  迭代程序是基于研究语言中的类似功能(例如CLU、Sather和icon)而构造的语言。简单说来,通过迭代程序,类型可轻松地声明foreach 语句对其元素进行迭代的方式。
  2.2.1定义迭代程序
  由于迭代程序是foreach循环结构的逻辑对应物,因此其定义方式类似于函数,使用foreach关键字并在后面带有一对圆括号。程序将为List类型声明一个迭代程序,迭代程序的返回类型由用户决定。
   2.2.2迭代程序的工作原理
  迭代程序代表所在的程序处理实现枚举器模式的日常操作。C#编译器将您在迭代程序中编写的代码转换成使用枚举器模式的相应类和代码,而无需创建类和建立状态机。通过这种方式,迭代程序显著提高了开发人员的工作效率。
  2.3匿名方法
  匿名方法是另一种实用的语言结构,它使程序员能够创建可装箱在委托中,并且可在以后执行的代码块。它们基于称作久函数的语言概念,并且类似于LISP和Python中的对应语言概念。
  2.3.1创建委托代码
  委托是引用方法的对象。调用委托时,将调用它所引用的方法。以下示例举例说明了一个简单的窗体,其中包含列表框、文本框和按钮三个控件。初始化按钮时,程序将指示其Click委托引用该对象中其他位置存储的AddClick方法。在AddClick方法中,文本框的值存储在列表框中。
  2.3.2使用匿名方法
  上一个示例非常直观。其中创建了一个单独的函数,并对其进行了委托引用,每当调用此委托时,程序都会调用该函数。在该函数中,执行了一系列的可执行步骤。使用匿名方法,程序无需为该类创建整个新方法,而可以直接引用委托中包含的可执行步骤。匿名方法的声明方法是先实例化一个委托,然后在实例化语句之后加上一对表示执行范围的花括号,最后加上一个用于终止语句的分号。
  2.3.3匿名方法的工作原理
  遇到“匿名”委托时,C#编译器会自动将其执行范围内的代码转换为唯一命名类中的唯一命名函数。然后将设置存储代码块的委托,以引用编译器生成的对象和方法。调用委托时,将通过编译器生成的方法执行“匿名”方法块。
  2.4局部类型
  尽管在单个文件中维护类型的所有源代码是面向对象编程的好方法,但有时性能约束会使得类型变大。此外,在某些情况下将类型分割成子类型所耗费的开销是无法让人接受的。而且,程序员经常会创建或使用应用程序来发布源代码和修改结果代码。遗憾的是,当再次发布源代码时,所有现有的源代码修改将被覆盖。局部类型允许将包含大量源代码的类型分割成多个不同的源文件,以便于开发和维护。此外,局部类型可用于将计算机生成的类型部分与用户编写的类型部分隔开,从而更易于补充或修改工具生成的代码。
  结束语
  C#是一种源自于C和C++的,简单的、现代的、面向对象的和类型安全的程序设计语言。C#为程序员提供了开发飞速发展的Web应用程序所需要的强大而灵活的功能。与C++相比,C#将更容易被人们理解和接受,未来大量.NET平台的应用将由C#开发,C#将是未来开发企业级分布式应用程序的首选。从C#问世以来,很多开发人员已经开始使用C#编程语言来构建软件。
其他文献
摘要:大力提高建筑项目工程质量,多创优质工程,一直都是众多施工企业不懈的追求目标。因此强化工程施工质量管理就显得尤其重要。本文对工程施工管理和质量控制等方面进行了简要的阐述。  关键词:施工;质量管理;工程质量  Abstract: to improve the construction project engineering quality, and the high quality engin
期刊
摘要:耕地在整个国民经济发展中处于基础性地位,经济增长必将会加快耕地非农业化发展的速度,但同时耕地的非农业化发展也为经济的稳定快速发展提供了物质基础保障。如何在经济高速发展的时代大潮中,把握好经济增长与耕地利用方向的关系与切合点,是建设有中国特色社会主义市场经济的重点之一。本文从耕地的非农业化理论研究、经济发展模式研究和耕地非农业化发展与经济增长的关系三方面入手,希望能在二者之间寻求一条辩证统一的
期刊
【摘要】本文通过笔者对建筑工程施工管理的重要性和目前施工管理中存在的问题的了解,然后根据存在问题提出了具体的解决措施,以供参考。  【关键词】建筑施工施工管理管理措施  【 abstract 】 this article through to the construction of the importance of the management and construction at prese
期刊
摘要:加强对涉及通航安全的水上水下施工作业或活动的许可管理和现场监督检查及验收管理,维护通航安全。  关键词:涉水工程;通航安全管理  Abstract: to strengthen the navigation safety of the water involving construction work or activities of the license management and o
期刊
摘要:随着我国经济社会文化的不断发展,全国各地对基础设施的建设投资项目不断增加,而房建工程对于整个社会经济的发展有着极为重要的作用,伴随着它的飞速发展,政府适时地制定实施了住宅工程质量分户验收管理办法,由此,房建工程管理方面的采取的安全、质量及成本管理措施变得尤为重要。针对这一点,本文从房建工程的安全管理、质量管理和成本管理三个方面分别阐述了房建工程在整个管理方面存在的问题及其对应的解决对策。  
期刊
摘要:作者针对建筑工程施工质量管理做了一些理论和实践的探讨,内容主要包括建筑工程施工质量管理的意义和建筑施工质量管理方面存在的主要问题,最后对加强建筑工程施工质量管理的相应措施进行了介绍。  关键词:建筑工程;施工质量;管理  Abstract: the author of construction engineering construction quality management made
期刊
摘要:随着各省都市经济圈的建立,为了加强城市之间的联系,高铁、城际快速公路陆续建设,城市之间的联系更加紧密。但是当前,在中部欠发达地区以及西部落后地区,并没有形成真正意义上的城镇群,这样导致在城际快速通道的建设中,将穿越大量村庄集镇。城际快速通道的建设一方面将对当地的经济发展起到带动作用,但是另一方面由于村庄过于分散,并没有形成集中的建成区,将会对快速通道交通产生较大干扰。为此,以合肥至六安第二条
期刊
【摘要】党的十七大提出:要“构建终身教育体系”,“形成全民学习,终身学习的学习型社会,促进人的全面发展”。通过教育培训等形式,帮助职工树立正确的理想信念,推进职工知识化进程,全面提高职工素质,建设“四有”职工队伍,是企业实现可持续发展的必然要求和创新之路。  【关键词】职工队伍;整体素质;途径  【 abstract 】 the party congress put forward: to "th
期刊
【摘要】 目前较为常見的防渗材料包括复合土工膜(高分子材料)、膨润土防水毯、天然粘土等。不同的防渗材料各有优缺点,应根据工程情况和实际条件,综合考虑多方面的因素选择防渗材料,这些因素包括防渗能力,在当地取得天然材料的难易程度,环境友好性,施工技术、设备与自然条件,以及建设和运行管理费用等。面对北方干旱严重,地下水位不断降低,要建立生态的水系,必须设计科学的防渗结构,钠基膨润土防水毯无疑是一种理想的
期刊
摘要:高速公路要提供的是面向社会公众的基础服务,如何保畅及提供优质的服务是各个高速公路管理者所面临的重要问题。高速公路监控业务就是直接面对客户的主要日常业务,其管理是否有效、对客户响应速度是否快速等将影响服务的质量和客户的满意度。本文结合深高速的监控业务信息化管理系统,从系统功能、使用等方面介绍智能化的监控信息化管理系统,以及其所发挥的作用。  关键词:高速公路;监控;管理;智能化  Abstra
期刊