浅谈C#语言

时间:2022-08-16 08:48:04

浅谈C#语言

摘 要:从过去到现在几十年的发展,C和C++已经成为商业软件的开发领域中使用最广泛的语言。它们为程序员提供了十分灵活的操作,不过同时也牺牲了一定的效率。与visual basic等语言相比,同等级别的C/C++应用程序往往需要更长的时间来开发。所以,许多程序员都在试图找一种新的语言,希望能在功能和效率之间找一个更为理想的平衡点,这种新的语言就是C#语言。本文将着重于对C#语言的介绍。

关键词:C#;C;C++;商业软件的开发

C#,发音同“see sharp”,是一门简单、现代化、面向对象类型安全的编程语言,C#属于C语言家族,任何c、c++或Java程序员都不觉得它很陌生。C#是来源于Java的,通俗地说,他算是Java的儿子,但是它又比Java更加具有灵活性,在.NAT的编程上独树一帜,没有单独的头文件,也不需要按照特定顺序声明方法和类型。C#程序比C和C++的生成过程简单,C面向过程C语言是目前世界上流行、使用非常广泛的高级程序设计语言。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其他高级语言,许多大型应用软件都是用C语言编写的。C语言具有绘图能力强、可移植性的特点,并具备很强的数据处理能力,因此适于编写系统软件、三维、二维图形和动画,它是数值计算的高级语言。c++是面向对象的,C是面向过程的。C++一种混合语言,目前功能最为强大的语言,面向对象技术,是程序设计“方法学”方面的一次革命,是目前软件开发中的主流技术。C++提供了面向对象的编程方法,而C没有。此外,从语言的角度来讲,C++对C的一些重要概念,如函数、指针和结构等都添加了新的增功能,C#面向对象,只能在支持.net的windows在计算机上运行,语法和Java相近,来自Microsoft。

例如,在ProgrammingGuide命名空间的顶级使用三个成员定义了MyCustomClass,在Program类的Main方法中创建了MyCustomClass的一个实例(对象),并使用点表示法访问该对象的方法和属性。

namespace ProgrammingGuide

{public class MyCustomClass

{public int Number{get;set;public int Multiply(int num)

{return num * Number;}

public MyCustomClass()

{Number=0;}

}

class Program

{static void Main(string[]args)

{MyCustomClass myClass=new MyCustomClass();

myClass.Number=27;

int result=myClass.Multiply(4);

}}}

在这段代码中,我们可以看到它有很多优点,它是一种精确、简单、类型安全、面向对象的语言。

但是在实际开发中,笔者所谈到的,只是其中的冰山一角,它除了以上的优点,还具有以下优势:

第一,快速应用开发(RAD)功能。支持快速开发,可以说是目前开发语言最为重要的一大功能,C#与.NET的结合支持快速开发,可以使得开发人员的开发效率倍增,从而使得它们可以从繁重的重复性劳动中解放出来。

第二,语言的自由性。用C#编写的程序能最大限度地和任何支持.NET的语言互相交换信息,能与其他.NET语言有着最好的合作。

第三,强大的Web服务端组件。在C#的Web编程中,包含了大量的Web服务端组件,有了这些强大的组件,可以设计出功能更加强劲的企业级分布式应用系统。

第四,支持跨平台。C#编写的应用程序具有强大的跨平台性,这种跨平台性包括C#程序的客户端可以运行在不同类型的客户端上,如PDA、手机等非PC装置。

第五,与XML的融合。XML技术真正融入.NET和C#之中,使得C#提供给程序员更多的自由和更好的性能来使用XML。

第六,对C++的继承。C#继承并保留了C++强大的功能,还提供了一些新功能取代了一些原来的ANSIC预处理程序功能,提高了语言类型安全等安全性。

C#还提供了一些特性来帮助和构建健壮、耐用的应用程序:垃圾收集(Garbage Collection)会自动回收不再使用的对象所占用的内存;异常处理(exception hardling)提供了一种结构化且可扩展的方式来检测错误和恢复;而语言的类型安全(type-safe)设计则可以防止读取未始化的变量、数组越界或进行未检查的类型转换。所有C#类型都拥有统一的类型系统(unified type system),包括int和double这样的基础类型,都是从根类型object继承而来。所以,所有的类型都有一些通用的操作,任何类型的值都可以通过一致的方式进行保存、传递和操作。此外,C#还支持用户自定义引用类型和值类型,允许动态分配对象和轻型结构的内联存储。为了保证C#程序和类库能以兼容的方式向前发展,C#在设计过程中非常注意版本控制(versioning)。很多编程语言都对这一点比较疏忽,所以当新版本的依赖库被引用时,被这些语言编写的程序都失灵了。

正是因为C#面向对象语言的卓越设计,使它成了构成各种应用程序组件的理想之选,尤其是系统级的应用程序和高级的商业对象。其次,C#语言允许自定义数据类型,以扩展元数据,这些元数据可应用于任何对象。项目构建者可以定义领域特有的属性并把它们应用于任何语言元素――类、接口等。然后,开发人员可以编程检查每个元素的属性,所以很多工作都变得简单了。例如,编写一个小工具来对每个类或接口是否被正确定义为某个抽象商业的一部分进行检查,或者只对一份基于对象的领域特有属性的报表进行创建。程序代码和定义的元数据之间的紧密对应有助于加强实际实现和程序的预期行为之间的对应关系。最后,C#增强了开发者的工作效率,并且当程序中出现错误,会有提示和解决方案,大大减少了编程中会出现的错误。同时,C#使C/C++程序员可以快速进行网络开发,也维持了开发者所需要的灵活性和强大性。

参考文献:

[1] 顾雁宏,徐旭明. C#程序设计语言[M].北京:机械工业出版社,2009.

[2] 陈语林,唐文新,熊炎. C#程序设计[M].北京:中国水利水电出版社,2012.

[3] 罗福强,杨剑,张敏辉. C#程序设计经典教程[M].北京:清华大学出版社,2014.

上一篇:人性化设计在圈存机交互设计中的应用 下一篇:15位城市客厅主人畅谈客厅文化