基于C#编程语言技术探析

2019-12-12 06:57:26阮国荣
魅力中国 2019年46期
关键词:分号面向对象内存

阮国荣

(广东南方职业学院,广东 江门 529000)

关键字:C#语言;面向对象;编程

一、C#语言的概述

C#是从C和C++语言演变而来,它是一种简单、现代、类型安全的完全面向对象的程序设计语言,它是Microsoft专门为.NET平台而创建的。C#是近来一段时期发展起来的,不仅吸收以往编程语言的精华,同时其他语言存在问题也得到了解决。虽然表面上看C#是C++基础上写成的,然而实质上它是VB、Pascal、Java等各类语言的综合。

二、C#语言的优势之处

(一)语法简单易学

C#是非常容易学习的语言,该语言的首要目标就是简单。在C#中,没有C++中流行的指针。默认地,在受管理的代码中,不允许如直接存取内存等不安全的操作。在C++中经常使用的操作符 “.”、“->”和“::”,它们分别使用于成员、引用和名字空间。然而操作符对初学者而言,到现在仍然是学习的难点。C#仅使用单个操作符 “.”,没有其它操作符。现在对我们来说,就只剩下对嵌套名字的注解进行理解了。

(二)面向对象

C#属于完成面向对象的程序设计语言,它拥有继承、封装和多态性这三大基本特征。

C#支持单继承,即是一个类只能派生于另一个父类,也就是说只能有一个父类。大多数情况,我们创建一个子类也仅需要继承一个基类。多重继承制造出来的问题通常比其解决的问题还要多。如果你一定要用多重继承,那么可以使用接口。 使用继承机制可以增强代码的复用性,减少代码量,提高开发效率。

C#可以用属性实现封装,这样做的好处是实现封装更加方便,同时能够通过属性的写和读来保护类中的域,这样就可以避免数据外泄,保证数据的安全。并且通过封装,也可以使程序结构性更强,层次清晰,便于后期维护。

C#通过多态机制能够减少编程代码,同时也可以增强程序的可扩充性,也就是说程序要增加功能或者修改功能的时候,只需要在原来的基础上修改少量代码。

(三)类型安全

C#为了对垃圾收集器(garbage collector)以及自己进行保护,实行最严格的类型安全。所以C#中一些有关变量的规定必须要遵循:如果变量没有初始化不能被使用。对于对象的成员变量,编译器负责清零。而局部变量,则由你负责清零。当你使用的变量没有初始化的时候,编译器会提示你如何去做。这就避免了由于不经初始化的变量进行计算,而造成错误的结果,但是你还不知道为何会出现这些问题。

边界检查C#的一部分。当定义数组只有n个元素,那么也仅仅能够使用n个元素,越界的问题得到有效的解决。

算术运算有可能溢出终值数据类型的范围。C#允许在语句级或应用程序级检测这些运算。在允许检测溢出的情况下,当溢出发生时将会抛出一个异常。在C#中,被传递的引用参数是类型安全的。

三、C#语言的不足之处

(一)对微软的操作系统,对微软类库的依赖性极强。所有项目编写都依靠MSIL和CLS JIT编译程序。但是程序设计和编译程序级的优化不能在非微软的平台上充分利用,想在非Windows平台上展开.NET,再充分运用它们也是不现实的。

(二)底层和高性能不合适。不合适做时间性能很高(高速算法)或空间性能很灵活(内存立即释放)的程序,因为中间语言和编译过程,比C/C++Native类型的语言会慢一些,内存自动回收难以立即释放不需要的内存。

四、C#语言程序示例

为了对C#语言有更加直观的了解,下面举一个简单的C#例子,对C#的代码风格和特征进行分析。

在上述代码中,使用using关键字引用的名称空间,使用namespace关键字定义命名空间,使用 class关键字定义类。C#程序是从Main方法开始执行的。方法的内容用大括号{ }包括,称为“方法体”。Console.WriteLine()的作用是输出字符串,把"这是一个简单的C#程序"字符串输出来。语句后面的分号表示了本句结束。

结合上述代码可以总结出C#程序具备如下特征:

1.Main方法是程序入口,程序总是这开始执行。

2.C#严格区分大小写。如变量a和变量A表示不同的变量。

3.所有语句都以分号“;”结束。注意要用英文的分号“;”作结束符,用中文的分号会出错。

4.C#语言的单行注释格式为: //、/*...*/和///。//仅可进行单行注释,/*...*/可进行多行注释,///是文档注释。

五、结语

随着生活的不断改善,社会的不断进步,计算机编程技术应用越来越普遍的今天,其应用水平得到稳步提升。特别是C#在其中起到重要的作用,让计算机的功能更加完善。C#是优秀的计算机编程语言之一,精通C#不仅要通过理论知识的学习,同时要经历不断的实践练习,进行总结分析,才能加深对语言的理解,将所学的知识融会贯通,最终编写出优秀的C#语言程序。

猜你喜欢
分号面向对象内存
“春夏秋冬”的内存
当代陕西(2019年13期)2019-08-20 03:54:22
美科技企业连开“分号”
环球时报(2018-12-18)2018-12-18 04:27:47
面向对象的计算机网络设计软件系统的开发
电子测试(2018年15期)2018-09-26 06:01:34
面向对象的数据交换协议研究与应用
春之怀古
面向对象Web开发编程语言的的评估方法
风度翩翩的分号
面向对象信息提取中影像分割参数的选择
河南科技(2014年10期)2014-02-27 14:09:03
基于内存的地理信息访问技术
上网本为什么只有1GB?