分享
 
 
 

《C#入门与提高》(一)

王朝c#·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

《C#入门与提高》

前言

C#介绍

我们知道,C和C++已经成为广泛的应用在商用软件的开发中的开发语言。但是C和C++的灵活性是牺牲了开发效率的。如果与其他的开发语言相比(比如说VB,Delphi),相同功能的C/C++软件通常会需要更长的开发周期,要写更多的代码。正是由于C/C++开发的复杂性和需要较长的开发周期,所以许多C/C++开发人员都在寻找一种可以在功能和开发效率间提高更多平衡的开发语言。 于是Microsoft想到了C#(发音为 C Sharp),并推出了C#。2000年6月微软发布C#语言和.NET平台。C#语言是一种强类型的、面向对象的语言、它具有语法简单、表达力强的特点;而.NET平台则是构成微软的“.NET计划”的基石。.NET平台的核心包括两方面一方面就是著名的通用语言运行机(Common Language Runtime)虽然这个名词起得晦涩了点不过大家可以拿它和Java的虚拟机来作比较,二者完成的任务大致相同,另一方面就是一大堆通用函数库,这些库函数可以被多种语言调用,并且通过编译都产生一种共同的中间语言(Intermediate Language),这种语言也可以拿Java的字节码来类比,虽然完成的方式有些不一样。C#是一种先进,面向对象的语言,通过C#可以让开发人员快速的建立大范围的基于MS网络平台的应用,并且提供大量的开发工具和服务帮助开发人员开发基于计算和通信的各种应用。 正是由于C#是一种面向对象的开发语言,所以C#可以大范围的适用于高层商业应用和底层系统的开发。即使是通过简单的C#构造也可以各种组件方便的转变为基于WEB的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用调用。

它有以下的特点:

开发效率与安全性

目前的各种基于WEB应用的软件开发向传统的商业应用软件开发提出了挑战,开发者被组织起来开发具有更短开发周期的各种应用,并且需要能够提供更好的可修正性,而不是建立一个可以长久使用的软件系统。

C#的设计正是充分考虑了这些因素。C#会帮助开发者通过更少的代码完成相同的功能,并且能够更好的避免错误发生。

与WEB开发相结合

新的开发模式意味着需要更好的利用现有的各种WEB标准,例如HTML,XML,SOAP(简单对象存取协议)。现存的开发工具是在Internet出现前或是未得到充分应用前出现的,所以都不能很好的适应目前WEB技术的开发需要。

C#开发者可以方便的在M$网络平台上扩展自己的应用。C#可以将任何组件转变为WEB服务,并且可以被运行于Internet上的任何平台的任何应用调用,重要的是C#对这一特性提供了内置的支持。

更重要的一点,WEB服务框架可以让任何WEB服务都看起来类似于C#的内置对象,所以可以让开发人员在开发过程中继续使用他们已经具备的面向对象的开发方法和技巧。

此外C#还拥有许多其他特性使自己成为最出色的Internet开发工具。例如,XML目前已经成为网络中数据结构传送的标准,为了提高效率C#将允许直接将XML数据映射成为结构。这样的话可以有效的处理各种数据。

减小开发中的错误

即使是优秀的C/C++开发人员都难于避免在编码过程出现一些常见错误,比如错误的初始化一个变量,而这种错误将有可能导致各种不可以预知的错误,并且难于被发现。如果一旦错误在发现前被投入生产环境,排除这些错误将会付出昂贵的代价。而C#的先进设计思想可以消除C/C++开发中的许多常见错误,比如:

垃圾收集机制将减轻开发人员对内存的管理负担。 C#中的变量将自动根据环境被初始化。 变量是类型安全的。 使用C#将会使开发人员更加轻易的开发和维护各种商业应用。

提供内置的版本支持来减少开发费用

更新软件系统中的组件(模块)将会是一种容易产生错误的工作,在代码修改过程中可能对现存的软件产生影响。为了帮助开发人员处理这些问题,C#在语言中内置了版本控制功能。例如:函数重载必须被显式的声明(这种情况在C++和JAVA中时常发生),这可以防止代码级错误和保留版本化的特性。另一个相关的特性是接口和接口继承的支持。这些特性可以保证复杂的软件可以被方便的开发和升级。

总结起来,这些特性可以帮助开发更强壮的软件后继版本和减轻开发费用。

功能强,易于表现,灵活

更好的结合商业应用中的流程与软件实现

为了更好实现公司的各种商业计划,在软件系统中必须在商业流程和软件实现间有紧密的联系。但是大多数的开发语言都不能轻易的将各种应用逻辑与代码相联系。例如,开发人员会使用各种注释来标明各种类所代表抽象商业对象。C#允许使用在任何对象上使用预定义数据或是经过扩展的元数据。在系统结构中可以使用区域属性(译者:类似NT的网络域结构),并且将这些属性添加到类,接口或者其他元素上。开发者可以独立的测试各种元素上的属性。这将会使得一些如同收集区域中对象属性,或是编写自动工具来保证的区域中的类,接口是否被正确定义的类似工作变得简单。

可扩展的协作能力

虽然管理性强,透明型好,类型安全的开发环境对大多的商业应用都适合,但现实的经验告诉我们一些应用出于执行效率或是与现存的应用接口API相结合的原因需要使用原有的开发方式来进行编码。也正是如此,许多C/C++开发人员宁愿放弃使用一些可以提高开发效率的开发工具。C#通过下面的方法来解决这些问题:

内置支持COM模型和Windows平台API。

允许有限制的使用指针。

在C#中任何对象都会自动成为COM对象,开发者不再需要显式的实现IUnknown和其他一些COM接口,同时也可以方便而自然的使用现存的COM对象,而不需要关心这些COM对象是否使用C#开发。

对于使用C#的开发人员来讲,C#允许开发人员调用OS所提供的API。在经过标记的代码区域内使用指针并手工管理内存分配。这可以让C/C++开发人员更快的熟悉和转向C#和并且不需要放弃在以前开发中所形成的开发习惯,而且以前的C/C++代码依然可以被重用。无论是对于COM的支持还是对于API调用的支持都是为了为开发人员提供足够的开发控制能力。

C#和Java

二者都编译成跨平台的,跨语言的代码,并且代码只能在一个受控制的环境中运行

自动回收垃圾内存,并且消除了指针(在C#中可以使用指针,不过必须注明unsafe关键字)

都不需要头文件,所有的代码都被“包(package)”限制在某个范围内,并且因为没有头文件,所以消除了类定义的循环依赖

所有的类都是从对象派生出来,并且必须使用New关键字分配内存

用对象加锁的方式来支持多线程

都具有接口(interface)的概念

继承类的时候不会以某种特定的访问权限来继承

没有全局函数或者常量,一切必须属于类

数组或者字符串都自带长度计算和边界检查

只使用“.”操作符,没有“->”和“::”

“null”,“boolean”和“bool”成为了关键字

任何变量均在使用前进行初始化

不能使用整数来返回到if条件语句中,必须使用布尔值

“Try”模块後可以有“finally” 

总之,C#是一种先进的,面向对象的开发语言,并且能够方便快捷的MS网络平台建立各种应用和建立能够在网络间相互调用的WEB服务。从开发语言的角度来讲C#可以更好帮助开发人员避免错误,提高工作效率,而且同时具有C/C++的强大功能。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有